group_theory.specific_groups.alternatingMathlib.GroupTheory.SpecificGroups.Alternating

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -130,7 +130,7 @@ theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ
   obtain ⟨σ, hσ⟩ := σ
   obtain ⟨τ, hτ⟩ := τ
   obtain ⟨π, hπ⟩ := isConj_iff.1 hc
-  rw [Subtype.coe_mk, Subtype.coe_mk] at hπ 
+  rw [Subtype.coe_mk, Subtype.coe_mk] at hπ
   cases' Int.units_eq_one_or (SignType.sign π) with h h
   · rw [isConj_iff]
     refine' ⟨⟨π, mem_alternating_group.mp h⟩, Subtype.val_injective _⟩
@@ -178,17 +178,17 @@ theorem closure_three_cycles_eq_alternating :
         l.Prod ∈ closure {σ : perm α | is_three_cycle σ}
     · obtain ⟨l, rfl, hl⟩ := trunc_swap_factors σ
       obtain ⟨n, hn⟩ := (prod_list_swap_mem_alternating_group_iff_even_length hl).1 hσ
-      rw [← two_mul] at hn 
+      rw [← two_mul] at hn
       exact hind n l hl hn
     intro n
     induction' n with n ih <;> intro l hl hn
     · simp [List.length_eq_zero.1 hn, one_mem]
-    rw [Nat.mul_succ] at hn 
+    rw [Nat.mul_succ] at hn
     obtain ⟨a, l, rfl⟩ := l.exists_of_length_succ hn
-    rw [List.length_cons, Nat.succ_inj] at hn 
+    rw [List.length_cons, Nat.succ_inj] at hn
     obtain ⟨b, l, rfl⟩ := l.exists_of_length_succ hn
     rw [List.prod_cons, List.prod_cons, ← mul_assoc]
-    rw [List.length_cons, Nat.succ_inj] at hn 
+    rw [List.length_cons, Nat.succ_inj] at hn
     exact
       mul_mem
         (is_swap.mul_mem_closure_three_cycles (hl a (List.mem_cons_self a _))
@@ -321,13 +321,13 @@ theorem isConj_swap_mul_swap_of_cycleType_two {g : Perm (Fin 5)} (ha : g ∈ alt
     IsConj (swap 0 4 * swap 1 3) g :=
   by
   have h := g.support.card_le_univ
-  rw [← Multiset.eq_replicate_card] at h2 
-  rw [← sum_cycle_type, h2, Multiset.sum_replicate, smul_eq_mul] at h 
+  rw [← Multiset.eq_replicate_card] at h2
+  rw [← sum_cycle_type, h2, Multiset.sum_replicate, smul_eq_mul] at h
   have h : g.cycle_type.card ≤ 3 := le_of_mul_le_mul_right (le_trans h (by decide)) (by decide)
-  rw [mem_alternating_group, sign_of_cycle_type, h2] at ha 
-  norm_num at ha 
+  rw [mem_alternating_group, sign_of_cycle_type, h2] at ha
+  norm_num at ha
   rw [pow_add, pow_mul, Int.units_pow_two, one_mul, Units.ext_iff, Units.val_one,
-    Units.val_pow_eq_pow_val, Units.coe_neg_one, neg_one_pow_eq_one_iff_even _] at ha 
+    Units.val_pow_eq_pow_val, Units.coe_neg_one, neg_one_pow_eq_one_iff_even _] at ha
   swap; · decide
   rw [is_conj_iff_cycle_type_eq, h2]
   interval_cases
@@ -353,21 +353,21 @@ instance isSimpleGroup_five : IsSimpleGroup (alternatingGroup (Fin 5)) :=
   ⟨exists_pair_ne _, fun H => by
     intro Hn
     refine' or_not.imp id fun Hb => _
-    rw [eq_bot_iff_forall] at Hb 
-    push_neg at Hb 
+    rw [eq_bot_iff_forall] at Hb
+    push_neg at Hb
     obtain ⟨⟨g, gA⟩, gH, g1⟩ : ∃ x : ↥(alternatingGroup (Fin 5)), x ∈ H ∧ x ≠ 1 := Hb
     -- `g` is a non-identity alternating permutation in a normal subgroup `H` of $A_5$.
-    rw [← SetLike.mem_coe, ← Set.singleton_subset_iff] at gH 
+    rw [← SetLike.mem_coe, ← Set.singleton_subset_iff] at gH
     refine' eq_top_iff.2 (le_trans (ge_of_eq _) (normal_closure_le_normal gH))
     -- It suffices to show that the normal closure of `g` in $A_5$ is $A_5$.
     by_cases h2 : ∀ n ∈ g.cycle_type, n = 2
     · -- If the cycle decomposition of `g` consists entirely of swaps, then the cycle type is $(2,2)$.
       -- This means that it is conjugate to $(04)(13)$, whose normal closure is $A_5$.
-      rw [Ne.def, Subtype.ext_iff] at g1 
+      rw [Ne.def, Subtype.ext_iff] at g1
       exact
         (is_conj_swap_mul_swap_of_cycle_type_two gA g1 h2).normalClosure_eq_top_of
           normal_closure_swap_mul_swap_five
-    push_neg at h2 
+    push_neg at h2
     obtain ⟨n, ng, n2⟩ : ∃ n : ℕ, n ∈ g.cycle_type ∧ n ≠ 2 := h2
     -- `n` is the size of a non-swap cycle in the decomposition of `g`.
     have n2' : 2 < n := lt_of_le_of_ne (two_le_of_mem_cycle_type ng) n2.symm
Diff
@@ -185,10 +185,10 @@ theorem closure_three_cycles_eq_alternating :
     · simp [List.length_eq_zero.1 hn, one_mem]
     rw [Nat.mul_succ] at hn 
     obtain ⟨a, l, rfl⟩ := l.exists_of_length_succ hn
-    rw [List.length_cons, Nat.succ_inj'] at hn 
+    rw [List.length_cons, Nat.succ_inj] at hn 
     obtain ⟨b, l, rfl⟩ := l.exists_of_length_succ hn
     rw [List.prod_cons, List.prod_cons, ← mul_assoc]
-    rw [List.length_cons, Nat.succ_inj'] at hn 
+    rw [List.length_cons, Nat.succ_inj] at hn 
     exact
       mul_mem
         (is_swap.mul_mem_closure_three_cycles (hl a (List.mem_cons_self a _))
Diff
@@ -3,10 +3,10 @@ Copyright (c) 2021 Aaron Anderson. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Aaron Anderson
 -/
-import Mathbin.Algebra.Group.ConjFinite
-import Mathbin.GroupTheory.Perm.Fin
-import Mathbin.GroupTheory.Subgroup.Simple
-import Mathbin.Tactic.IntervalCases
+import Algebra.Group.ConjFinite
+import GroupTheory.Perm.Fin
+import GroupTheory.Subgroup.Simple
+import Tactic.IntervalCases
 
 #align_import group_theory.specific_groups.alternating from "leanprover-community/mathlib"@"9a48a083b390d9b84a71efbdc4e8dfa26a687104"
 
Diff
@@ -207,7 +207,7 @@ theorem IsThreeCycle.alternating_normalClosure (h5 : 5 ≤ Fintype.card α) {f :
     (by
       have hi : Function.Injective (alternatingGroup α).Subtype := Subtype.coe_injective
       refine' eq_top_iff.1 (map_injective hi (le_antisymm (map_mono le_top) _))
-      rw [← MonoidHom.range_eq_map, subtype_range, normalClosure, MonoidHom.map_closure]
+      rw [← MonoidHom.range_eq_map, subtype_range, normal_closure, MonoidHom.map_closure]
       refine' (le_of_eq closure_three_cycles_eq_alternating.symm).trans (closure_mono _)
       intro g h
       obtain ⟨c, rfl⟩ := isConj_iff.1 (is_conj_iff_cycle_type_eq.2 (hf.trans h.symm))
@@ -276,7 +276,7 @@ theorem normalClosure_finRotate_five :
       rw [Set.singleton_subset_iff, SetLike.mem_coe]
       have h :
         (⟨finRotate 5, fin_rotate_bit1_mem_alternating_group⟩ : alternatingGroup (Fin 5)) ∈
-          normalClosure _ :=
+          normal_closure _ :=
         SetLike.mem_coe.1 (subset_normal_closure (Set.mem_singleton _))
       exact
         mul_mem
@@ -306,7 +306,7 @@ theorem normalClosure_swap_mul_swap_five :
   rw [eq_top_iff, ← normal_closure_fin_rotate_five]
   refine' normal_closure_le_normal _
   rw [Set.singleton_subset_iff, SetLike.mem_coe, ← h5]
-  have h : g2 ∈ normalClosure {g2} :=
+  have h : g2 ∈ normal_closure {g2} :=
     SetLike.mem_coe.1 (subset_normal_closure (Set.mem_singleton _))
   exact mul_mem (subgroup.normal_closure_normal.conj_mem _ h g1) (inv_mem h)
 #align alternating_group.normal_closure_swap_mul_swap_five alternatingGroup.normalClosure_swap_mul_swap_five
Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2021 Aaron Anderson. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Aaron Anderson
-
-! This file was ported from Lean 3 source module group_theory.specific_groups.alternating
-! leanprover-community/mathlib commit 9a48a083b390d9b84a71efbdc4e8dfa26a687104
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Group.ConjFinite
 import Mathbin.GroupTheory.Perm.Fin
 import Mathbin.GroupTheory.Subgroup.Simple
 import Mathbin.Tactic.IntervalCases
 
+#align_import group_theory.specific_groups.alternating from "leanprover-community/mathlib"@"9a48a083b390d9b84a71efbdc4e8dfa26a687104"
+
 /-!
 # Alternating Groups
 
Diff
@@ -65,17 +65,22 @@ instance [Subsingleton α] : Unique (alternatingGroup α) :=
 
 variable {α}
 
+#print alternatingGroup_eq_sign_ker /-
 theorem alternatingGroup_eq_sign_ker : alternatingGroup α = sign.ker :=
   rfl
 #align alternating_group_eq_sign_ker alternatingGroup_eq_sign_ker
+-/
 
 namespace Equiv.Perm
 
+#print Equiv.Perm.mem_alternatingGroup /-
 @[simp]
 theorem mem_alternatingGroup {f : Perm α} : f ∈ alternatingGroup α ↔ sign f = 1 :=
   sign.mem_ker
 #align equiv.perm.mem_alternating_group Equiv.Perm.mem_alternatingGroup
+-/
 
+#print Equiv.Perm.prod_list_swap_mem_alternatingGroup_iff_even_length /-
 theorem prod_list_swap_mem_alternatingGroup_iff_even_length {l : List (Perm α)}
     (hl : ∀ g ∈ l, IsSwap g) : l.Prod ∈ alternatingGroup α ↔ Even l.length :=
   by
@@ -83,19 +88,25 @@ theorem prod_list_swap_mem_alternatingGroup_iff_even_length {l : List (Perm α)}
     Units.coe_neg_one, neg_one_pow_eq_one_iff_even]
   decide
 #align equiv.perm.prod_list_swap_mem_alternating_group_iff_even_length Equiv.Perm.prod_list_swap_mem_alternatingGroup_iff_even_length
+-/
 
+#print Equiv.Perm.IsThreeCycle.mem_alternatingGroup /-
 theorem IsThreeCycle.mem_alternatingGroup {f : Perm α} (h : IsThreeCycle f) :
     f ∈ alternatingGroup α :=
   mem_alternatingGroup.2 h.sign
 #align equiv.perm.is_three_cycle.mem_alternating_group Equiv.Perm.IsThreeCycle.mem_alternatingGroup
+-/
 
+#print Equiv.Perm.finRotate_bit1_mem_alternatingGroup /-
 theorem finRotate_bit1_mem_alternatingGroup {n : ℕ} :
     finRotate (bit1 n) ∈ alternatingGroup (Fin (bit1 n)) := by
   rw [mem_alternating_group, bit1, sign_finRotate, pow_bit0', Int.units_mul_self, one_pow]
 #align equiv.perm.fin_rotate_bit1_mem_alternating_group Equiv.Perm.finRotate_bit1_mem_alternatingGroup
+-/
 
 end Equiv.Perm
 
+#print two_mul_card_alternatingGroup /-
 theorem two_mul_card_alternatingGroup [Nontrivial α] :
     2 * card (alternatingGroup α) = card (Perm α) :=
   by
@@ -103,6 +114,7 @@ theorem two_mul_card_alternatingGroup [Nontrivial α] :
   rw [← Fintype.card_units_int, ← Fintype.card_congr this]
   exact (Subgroup.card_eq_card_quotient_mul_card_subgroup _).symm
 #align two_mul_card_alternating_group two_mul_card_alternatingGroup
+-/
 
 namespace alternatingGroup
 
@@ -114,6 +126,7 @@ instance normal : (alternatingGroup α).Normal :=
 #align alternating_group.normal alternatingGroup.normal
 -/
 
+#print alternatingGroup.isConj_of /-
 theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ : Perm α))
     (hσ : (σ : Perm α).support.card + 2 ≤ Fintype.card α) : IsConj σ τ :=
   by
@@ -141,12 +154,15 @@ theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ
       rw [mul_assoc π _ σ, hd.commute.eq, coe_inv, coe_mk]
       simp [mul_assoc]
 #align alternating_group.is_conj_of alternatingGroup.isConj_of
+-/
 
+#print alternatingGroup.isThreeCycle_isConj /-
 theorem isThreeCycle_isConj (h5 : 5 ≤ Fintype.card α) {σ τ : alternatingGroup α}
     (hσ : IsThreeCycle (σ : Perm α)) (hτ : IsThreeCycle (τ : Perm α)) : IsConj σ τ :=
   alternatingGroup.isConj_of (isConj_iff_cycleType_eq.2 (hσ.trans hτ.symm))
     (by rwa [hσ.card_support])
 #align alternating_group.is_three_cycle_is_conj alternatingGroup.isThreeCycle_isConj
+-/
 
 end alternatingGroup
 
@@ -184,6 +200,7 @@ theorem closure_three_cycles_eq_alternating :
 #align equiv.perm.closure_three_cycles_eq_alternating Equiv.Perm.closure_three_cycles_eq_alternating
 -/
 
+#print Equiv.Perm.IsThreeCycle.alternating_normalClosure /-
 /-- A key lemma to prove $A_5$ is simple. Shows that any normal subgroup of an alternating group on
   at least 5 elements is the entire alternating group if it contains a 3-cycle. -/
 theorem IsThreeCycle.alternating_normalClosure (h5 : 5 ≤ Fintype.card α) {f : Perm α}
@@ -201,6 +218,7 @@ theorem IsThreeCycle.alternating_normalClosure (h5 : 5 ≤ Fintype.card α) {f :
       rw [Group.mem_conjugatesOfSet_iff]
       exact ⟨⟨f, hf.mem_alternating_group⟩, Set.mem_singleton _, is_three_cycle_is_conj h5 hf h⟩)
 #align equiv.perm.is_three_cycle.alternating_normal_closure Equiv.Perm.IsThreeCycle.alternating_normalClosure
+-/
 
 #print Equiv.Perm.isThreeCycle_sq_of_three_mem_cycleType_five /-
 /-- Part of proving $A_5$ is simple. Shows that the square of any element of $A_5$ with a 3-cycle in
@@ -230,6 +248,7 @@ namespace alternatingGroup
 
 open Equiv.Perm
 
+#print alternatingGroup.nontrivial_of_three_le_card /-
 theorem nontrivial_of_three_le_card (h3 : 3 ≤ card α) : Nontrivial (alternatingGroup α) :=
   by
   haveI := Fintype.one_lt_card_iff_nontrivial.1 (lt_trans (by decide) h3)
@@ -238,10 +257,12 @@ theorem nontrivial_of_three_le_card (h3 : 3 ≤ card α) : Nontrivial (alternati
   rw [two_mul_card_alternatingGroup, card_perm, ← Nat.succ_le_iff]
   exact le_trans h3 (card α).self_le_factorial
 #align alternating_group.nontrivial_of_three_le_card alternatingGroup.nontrivial_of_three_le_card
+-/
 
 instance {n : ℕ} : Nontrivial (alternatingGroup (Fin (n + 3))) :=
   nontrivial_of_three_le_card (by rw [card_fin]; exact le_add_left (le_refl 3))
 
+#print alternatingGroup.normalClosure_finRotate_five /-
 /-- The normal closure of the 5-cycle `fin_rotate 5` within $A_5$ is the whole group. This will be
   used to show that the normal closure of any 5-cycle within $A_5$ is the whole group. -/
 theorem normalClosure_finRotate_five :
@@ -266,7 +287,9 @@ theorem normalClosure_finRotate_five :
             ⟨Fin.cycleRange 2, fin.is_three_cycle_cycle_range_two.mem_alternating_group⟩)
           (inv_mem h))
 #align alternating_group.normal_closure_fin_rotate_five alternatingGroup.normalClosure_finRotate_five
+-/
 
+#print alternatingGroup.normalClosure_swap_mul_swap_five /-
 /-- The normal closure of $(04)(13)$ within $A_5$ is the whole group. This will be
   used to show that the normal closure of any permutation of cycle type $(2,2)$ is the whole group.
   -/
@@ -290,7 +313,9 @@ theorem normalClosure_swap_mul_swap_five :
     SetLike.mem_coe.1 (subset_normal_closure (Set.mem_singleton _))
   exact mul_mem (subgroup.normal_closure_normal.conj_mem _ h g1) (inv_mem h)
 #align alternating_group.normal_closure_swap_mul_swap_five alternatingGroup.normalClosure_swap_mul_swap_five
+-/
 
+#print alternatingGroup.isConj_swap_mul_swap_of_cycleType_two /-
 /-- Shows that any non-identity element of $A_5$ whose cycle decomposition consists only of swaps
   is conjugate to $(04)(13)$. This is used to show that the normal closure of such a permutation
   in $A_5$ is $A_5$. -/
@@ -322,7 +347,9 @@ theorem isConj_swap_mul_swap_of_cycleType_two {g : Perm (Fin 5)} (ha : g ∈ alt
   · contrapose! ha
     simp [h_1]
 #align alternating_group.is_conj_swap_mul_swap_of_cycle_type_two alternatingGroup.isConj_swap_mul_swap_of_cycleType_two
+-/
 
+#print alternatingGroup.isSimpleGroup_five /-
 /-- Shows that $A_5$ is simple by taking an arbitrary non-identity element and showing by casework
   on its cycle type that its normal closure is all of $A_5$.   -/
 instance isSimpleGroup_five : IsSimpleGroup (alternatingGroup (Fin 5)) :=
@@ -373,6 +400,7 @@ instance isSimpleGroup_five : IsSimpleGroup (alternatingGroup (Fin 5)) :=
       refine' (is_conj_iff_cycle_type_eq.2 _).normalClosure_eq_top_of normal_closure_fin_rotate_five
       rw [cycle_type_of_card_le_mem_cycle_type_add_two (by decide) ng, cycleType_finRotate]⟩
 #align alternating_group.is_simple_group_five alternatingGroup.isSimpleGroup_five
+-/
 
 end alternatingGroup
 
Diff
@@ -193,7 +193,7 @@ theorem IsThreeCycle.alternating_normalClosure (h5 : 5 ≤ Fintype.card α) {f :
     (by
       have hi : Function.Injective (alternatingGroup α).Subtype := Subtype.coe_injective
       refine' eq_top_iff.1 (map_injective hi (le_antisymm (map_mono le_top) _))
-      rw [← MonoidHom.range_eq_map, subtype_range, normal_closure, MonoidHom.map_closure]
+      rw [← MonoidHom.range_eq_map, subtype_range, normalClosure, MonoidHom.map_closure]
       refine' (le_of_eq closure_three_cycles_eq_alternating.symm).trans (closure_mono _)
       intro g h
       obtain ⟨c, rfl⟩ := isConj_iff.1 (is_conj_iff_cycle_type_eq.2 (hf.trans h.symm))
@@ -258,7 +258,7 @@ theorem normalClosure_finRotate_five :
       rw [Set.singleton_subset_iff, SetLike.mem_coe]
       have h :
         (⟨finRotate 5, fin_rotate_bit1_mem_alternating_group⟩ : alternatingGroup (Fin 5)) ∈
-          normal_closure _ :=
+          normalClosure _ :=
         SetLike.mem_coe.1 (subset_normal_closure (Set.mem_singleton _))
       exact
         mul_mem
@@ -286,7 +286,7 @@ theorem normalClosure_swap_mul_swap_five :
   rw [eq_top_iff, ← normal_closure_fin_rotate_five]
   refine' normal_closure_le_normal _
   rw [Set.singleton_subset_iff, SetLike.mem_coe, ← h5]
-  have h : g2 ∈ normal_closure {g2} :=
+  have h : g2 ∈ normalClosure {g2} :=
     SetLike.mem_coe.1 (subset_normal_closure (Set.mem_singleton _))
   exact mul_mem (subgroup.normal_closure_normal.conj_mem _ h g1) (inv_mem h)
 #align alternating_group.normal_closure_swap_mul_swap_five alternatingGroup.normalClosure_swap_mul_swap_five
Diff
@@ -99,7 +99,7 @@ end Equiv.Perm
 theorem two_mul_card_alternatingGroup [Nontrivial α] :
     2 * card (alternatingGroup α) = card (Perm α) :=
   by
-  let this := (QuotientGroup.quotientKerEquivOfSurjective _ (sign_surjective α)).toEquiv
+  let this.1 := (QuotientGroup.quotientKerEquivOfSurjective _ (sign_surjective α)).toEquiv
   rw [← Fintype.card_units_int, ← Fintype.card_congr this]
   exact (Subgroup.card_eq_card_quotient_mul_card_subgroup _).symm
 #align two_mul_card_alternating_group two_mul_card_alternatingGroup
Diff
@@ -157,12 +157,12 @@ open alternatingGroup
 #print Equiv.Perm.closure_three_cycles_eq_alternating /-
 @[simp]
 theorem closure_three_cycles_eq_alternating :
-    closure { σ : Perm α | IsThreeCycle σ } = alternatingGroup α :=
+    closure {σ : Perm α | IsThreeCycle σ} = alternatingGroup α :=
   closure_eq_of_le _ (fun σ hσ => mem_alternatingGroup.2 hσ.sign) fun σ hσ =>
     by
     suffices hind :
       ∀ (n : ℕ) (l : List (perm α)) (hl : ∀ g, g ∈ l → is_swap g) (hn : l.length = 2 * n),
-        l.Prod ∈ closure { σ : perm α | is_three_cycle σ }
+        l.Prod ∈ closure {σ : perm α | is_three_cycle σ}
     · obtain ⟨l, rfl, hl⟩ := trunc_swap_factors σ
       obtain ⟨n, hn⟩ := (prod_list_swap_mem_alternating_group_iff_even_length hl).1 hσ
       rw [← two_mul] at hn 
@@ -330,7 +330,7 @@ instance isSimpleGroup_five : IsSimpleGroup (alternatingGroup (Fin 5)) :=
     intro Hn
     refine' or_not.imp id fun Hb => _
     rw [eq_bot_iff_forall] at Hb 
-    push_neg  at Hb 
+    push_neg at Hb 
     obtain ⟨⟨g, gA⟩, gH, g1⟩ : ∃ x : ↥(alternatingGroup (Fin 5)), x ∈ H ∧ x ≠ 1 := Hb
     -- `g` is a non-identity alternating permutation in a normal subgroup `H` of $A_5$.
     rw [← SetLike.mem_coe, ← Set.singleton_subset_iff] at gH 
@@ -343,7 +343,7 @@ instance isSimpleGroup_five : IsSimpleGroup (alternatingGroup (Fin 5)) :=
       exact
         (is_conj_swap_mul_swap_of_cycle_type_two gA g1 h2).normalClosure_eq_top_of
           normal_closure_swap_mul_swap_five
-    push_neg  at h2 
+    push_neg at h2 
     obtain ⟨n, ng, n2⟩ : ∃ n : ℕ, n ∈ g.cycle_type ∧ n ≠ 2 := h2
     -- `n` is the size of a non-swap cycle in the decomposition of `g`.
     have n2' : 2 < n := lt_of_le_of_ne (two_le_of_mem_cycle_type ng) n2.symm
Diff
@@ -55,7 +55,8 @@ variable (α : Type _) [Fintype α] [DecidableEq α]
 /-- The alternating group on a finite type, realized as a subgroup of `equiv.perm`.
   For $A_n$, use `alternating_group (fin n)`. -/
 def alternatingGroup : Subgroup (Perm α) :=
-  sign.ker deriving Fintype
+  sign.ker
+deriving Fintype
 #align alternating_group alternatingGroup
 -/
 
@@ -119,7 +120,7 @@ theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ
   obtain ⟨σ, hσ⟩ := σ
   obtain ⟨τ, hτ⟩ := τ
   obtain ⟨π, hπ⟩ := isConj_iff.1 hc
-  rw [Subtype.coe_mk, Subtype.coe_mk] at hπ
+  rw [Subtype.coe_mk, Subtype.coe_mk] at hπ 
   cases' Int.units_eq_one_or (SignType.sign π) with h h
   · rw [isConj_iff]
     refine' ⟨⟨π, mem_alternating_group.mp h⟩, Subtype.val_injective _⟩
@@ -164,17 +165,17 @@ theorem closure_three_cycles_eq_alternating :
         l.Prod ∈ closure { σ : perm α | is_three_cycle σ }
     · obtain ⟨l, rfl, hl⟩ := trunc_swap_factors σ
       obtain ⟨n, hn⟩ := (prod_list_swap_mem_alternating_group_iff_even_length hl).1 hσ
-      rw [← two_mul] at hn
+      rw [← two_mul] at hn 
       exact hind n l hl hn
     intro n
     induction' n with n ih <;> intro l hl hn
     · simp [List.length_eq_zero.1 hn, one_mem]
-    rw [Nat.mul_succ] at hn
+    rw [Nat.mul_succ] at hn 
     obtain ⟨a, l, rfl⟩ := l.exists_of_length_succ hn
-    rw [List.length_cons, Nat.succ_inj'] at hn
+    rw [List.length_cons, Nat.succ_inj'] at hn 
     obtain ⟨b, l, rfl⟩ := l.exists_of_length_succ hn
     rw [List.prod_cons, List.prod_cons, ← mul_assoc]
-    rw [List.length_cons, Nat.succ_inj'] at hn
+    rw [List.length_cons, Nat.succ_inj'] at hn 
     exact
       mul_mem
         (is_swap.mul_mem_closure_three_cycles (hl a (List.mem_cons_self a _))
@@ -298,13 +299,13 @@ theorem isConj_swap_mul_swap_of_cycleType_two {g : Perm (Fin 5)} (ha : g ∈ alt
     IsConj (swap 0 4 * swap 1 3) g :=
   by
   have h := g.support.card_le_univ
-  rw [← Multiset.eq_replicate_card] at h2
-  rw [← sum_cycle_type, h2, Multiset.sum_replicate, smul_eq_mul] at h
+  rw [← Multiset.eq_replicate_card] at h2 
+  rw [← sum_cycle_type, h2, Multiset.sum_replicate, smul_eq_mul] at h 
   have h : g.cycle_type.card ≤ 3 := le_of_mul_le_mul_right (le_trans h (by decide)) (by decide)
-  rw [mem_alternating_group, sign_of_cycle_type, h2] at ha
-  norm_num at ha
+  rw [mem_alternating_group, sign_of_cycle_type, h2] at ha 
+  norm_num at ha 
   rw [pow_add, pow_mul, Int.units_pow_two, one_mul, Units.ext_iff, Units.val_one,
-    Units.val_pow_eq_pow_val, Units.coe_neg_one, neg_one_pow_eq_one_iff_even _] at ha
+    Units.val_pow_eq_pow_val, Units.coe_neg_one, neg_one_pow_eq_one_iff_even _] at ha 
   swap; · decide
   rw [is_conj_iff_cycle_type_eq, h2]
   interval_cases
@@ -328,21 +329,21 @@ instance isSimpleGroup_five : IsSimpleGroup (alternatingGroup (Fin 5)) :=
   ⟨exists_pair_ne _, fun H => by
     intro Hn
     refine' or_not.imp id fun Hb => _
-    rw [eq_bot_iff_forall] at Hb
-    push_neg  at Hb
+    rw [eq_bot_iff_forall] at Hb 
+    push_neg  at Hb 
     obtain ⟨⟨g, gA⟩, gH, g1⟩ : ∃ x : ↥(alternatingGroup (Fin 5)), x ∈ H ∧ x ≠ 1 := Hb
     -- `g` is a non-identity alternating permutation in a normal subgroup `H` of $A_5$.
-    rw [← SetLike.mem_coe, ← Set.singleton_subset_iff] at gH
+    rw [← SetLike.mem_coe, ← Set.singleton_subset_iff] at gH 
     refine' eq_top_iff.2 (le_trans (ge_of_eq _) (normal_closure_le_normal gH))
     -- It suffices to show that the normal closure of `g` in $A_5$ is $A_5$.
     by_cases h2 : ∀ n ∈ g.cycle_type, n = 2
     · -- If the cycle decomposition of `g` consists entirely of swaps, then the cycle type is $(2,2)$.
       -- This means that it is conjugate to $(04)(13)$, whose normal closure is $A_5$.
-      rw [Ne.def, Subtype.ext_iff] at g1
+      rw [Ne.def, Subtype.ext_iff] at g1 
       exact
         (is_conj_swap_mul_swap_of_cycle_type_two gA g1 h2).normalClosure_eq_top_of
           normal_closure_swap_mul_swap_five
-    push_neg  at h2
+    push_neg  at h2 
     obtain ⟨n, ng, n2⟩ : ∃ n : ℕ, n ∈ g.cycle_type ∧ n ≠ 2 := h2
     -- `n` is the size of a non-swap cycle in the decomposition of `g`.
     have n2' : 2 < n := lt_of_le_of_ne (two_le_of_mem_cycle_type ng) n2.symm
Diff
@@ -64,35 +64,17 @@ instance [Subsingleton α] : Unique (alternatingGroup α) :=
 
 variable {α}
 
-/- warning: alternating_group_eq_sign_ker -> alternatingGroup_eq_sign_ker is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], Eq.{succ u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)) (MonoidHom.ker.{u1, 0} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid) (Equiv.Perm.sign.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], Eq.{succ u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)) (MonoidHom.ker.{u1, 0} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (Equiv.Perm.sign.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1))
-Case conversion may be inaccurate. Consider using '#align alternating_group_eq_sign_ker alternatingGroup_eq_sign_kerₓ'. -/
 theorem alternatingGroup_eq_sign_ker : alternatingGroup α = sign.ker :=
   rfl
 #align alternating_group_eq_sign_ker alternatingGroup_eq_sign_ker
 
 namespace Equiv.Perm
 
-/- warning: equiv.perm.mem_alternating_group -> Equiv.Perm.mem_alternatingGroup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {f : Equiv.Perm.{succ u1} α}, Iff (Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) f (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Eq.{1} (Units.{0} Int Int.monoid) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{succ u1} α) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1) f) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {f : Equiv.Perm.{succ u1} α}, Iff (Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) f (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (FunLike.coe.{succ u1, succ u1, 1} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (fun (_x : Equiv.Perm.{succ u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{u1, u1, 0} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} α) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{u1, u1, 0} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1) f) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt)))))))))
-Case conversion may be inaccurate. Consider using '#align equiv.perm.mem_alternating_group Equiv.Perm.mem_alternatingGroupₓ'. -/
 @[simp]
 theorem mem_alternatingGroup {f : Perm α} : f ∈ alternatingGroup α ↔ sign f = 1 :=
   sign.mem_ker
 #align equiv.perm.mem_alternating_group Equiv.Perm.mem_alternatingGroup
 
-/- warning: equiv.perm.prod_list_swap_mem_alternating_group_iff_even_length -> Equiv.Perm.prod_list_swap_mem_alternatingGroup_iff_even_length is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {l : List.{u1} (Equiv.Perm.{succ u1} α)}, (forall (g : Equiv.Perm.{succ u1} α), (Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (List.{u1} (Equiv.Perm.{succ u1} α)) (List.hasMem.{u1} (Equiv.Perm.{succ u1} α)) g l) -> (Equiv.Perm.IsSwap.{u1} α (fun (a : α) (b : α) => _inst_2 a b) g)) -> (Iff (Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (List.prod.{u1} (Equiv.Perm.{succ u1} α) (MulOneClass.toHasMul.{u1} (Equiv.Perm.{succ u1} α) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) (MulOneClass.toHasOne.{u1} (Equiv.Perm.{succ u1} α) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) l) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Even.{0} Nat Nat.hasAdd (List.length.{u1} (Equiv.Perm.{succ u1} α) l)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {l : List.{u1} (Equiv.Perm.{succ u1} α)}, (forall (g : Equiv.Perm.{succ u1} α), (Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (List.{u1} (Equiv.Perm.{succ u1} α)) (List.instMembershipList.{u1} (Equiv.Perm.{succ u1} α)) g l) -> (Equiv.Perm.IsSwap.{u1} α (fun (a : α) (b : α) => _inst_2 a b) g)) -> (Iff (Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (List.prod.{u1} (Equiv.Perm.{succ u1} α) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} α) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) (InvOneClass.toOne.{u1} (Equiv.Perm.{succ u1} α) (DivInvOneMonoid.toInvOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivisionMonoid.toDivInvOneMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivisionMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) l) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Even.{0} Nat instAddNat (List.length.{u1} (Equiv.Perm.{succ u1} α) l)))
-Case conversion may be inaccurate. Consider using '#align equiv.perm.prod_list_swap_mem_alternating_group_iff_even_length Equiv.Perm.prod_list_swap_mem_alternatingGroup_iff_even_lengthₓ'. -/
 theorem prod_list_swap_mem_alternatingGroup_iff_even_length {l : List (Perm α)}
     (hl : ∀ g ∈ l, IsSwap g) : l.Prod ∈ alternatingGroup α ↔ Even l.length :=
   by
@@ -101,23 +83,11 @@ theorem prod_list_swap_mem_alternatingGroup_iff_even_length {l : List (Perm α)}
   decide
 #align equiv.perm.prod_list_swap_mem_alternating_group_iff_even_length Equiv.Perm.prod_list_swap_mem_alternatingGroup_iff_even_length
 
-/- warning: equiv.perm.is_three_cycle.mem_alternating_group -> Equiv.Perm.IsThreeCycle.mem_alternatingGroup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {f : Equiv.Perm.{succ u1} α}, (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f) -> (Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) f (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {f : Equiv.Perm.{succ u1} α}, (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f) -> (Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) f (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))
-Case conversion may be inaccurate. Consider using '#align equiv.perm.is_three_cycle.mem_alternating_group Equiv.Perm.IsThreeCycle.mem_alternatingGroupₓ'. -/
 theorem IsThreeCycle.mem_alternatingGroup {f : Perm α} (h : IsThreeCycle f) :
     f ∈ alternatingGroup α :=
   mem_alternatingGroup.2 h.sign
 #align equiv.perm.is_three_cycle.mem_alternating_group Equiv.Perm.IsThreeCycle.mem_alternatingGroup
 
-/- warning: equiv.perm.fin_rotate_bit1_mem_alternating_group -> Equiv.Perm.finRotate_bit1_mem_alternatingGroup is a dubious translation:
-lean 3 declaration is
-  forall {n : Nat}, Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)))) (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))))) (finRotate (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)) (alternatingGroup.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)) (Fin.fintype (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)) (fun (a : Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)) (b : Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)) => Fin.decidableEq (bit1.{0} Nat Nat.hasOne Nat.hasAdd n) a b))
-but is expected to have type
-  forall {n : Nat}, Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)))) (Equiv.Perm.{1} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))))) (finRotate (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)) (alternatingGroup.{0} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)) (Fin.fintype (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)) (fun (a : Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)) (b : Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)) => instDecidableEqFin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n) a b))
-Case conversion may be inaccurate. Consider using '#align equiv.perm.fin_rotate_bit1_mem_alternating_group Equiv.Perm.finRotate_bit1_mem_alternatingGroupₓ'. -/
 theorem finRotate_bit1_mem_alternatingGroup {n : ℕ} :
     finRotate (bit1 n) ∈ alternatingGroup (Fin (bit1 n)) := by
   rw [mem_alternating_group, bit1, sign_finRotate, pow_bit0', Int.units_mul_self, one_pow]
@@ -125,12 +95,6 @@ theorem finRotate_bit1_mem_alternatingGroup {n : ℕ} :
 
 end Equiv.Perm
 
-/- warning: two_mul_card_alternating_group -> two_mul_card_alternatingGroup is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] [_inst_3 : Nontrivial.{u1} α], Eq.{1} Nat (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat Nat.hasMul) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fintype.card.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (alternatingGroup.fintype.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Fintype.card.{u1} (Equiv.Perm.{succ u1} α) (Equiv.fintype.{u1, u1} α α (fun (a : α) (b : α) => _inst_2 a b) (fun (a : α) (b : α) => _inst_2 a b) _inst_1 _inst_1))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] [_inst_3 : Nontrivial.{u1} α], Eq.{1} Nat (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat instMulNat) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) (Fintype.card.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (fta.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Fintype.card.{u1} (Equiv.Perm.{succ u1} α) (equivFintype.{u1, u1} α α (fun (a : α) (b : α) => _inst_2 a b) (fun (a : α) (b : α) => _inst_2 a b) _inst_1 _inst_1))
-Case conversion may be inaccurate. Consider using '#align two_mul_card_alternating_group two_mul_card_alternatingGroupₓ'. -/
 theorem two_mul_card_alternatingGroup [Nontrivial α] :
     2 * card (alternatingGroup α) = card (Perm α) :=
   by
@@ -149,9 +113,6 @@ instance normal : (alternatingGroup α).Normal :=
 #align alternating_group.normal alternatingGroup.normal
 -/
 
-/- warning: alternating_group.is_conj_of -> alternatingGroup.isConj_of is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align alternating_group.is_conj_of alternatingGroup.isConj_ofₓ'. -/
 theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ : Perm α))
     (hσ : (σ : Perm α).support.card + 2 ≤ Fintype.card α) : IsConj σ τ :=
   by
@@ -180,9 +141,6 @@ theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ
       simp [mul_assoc]
 #align alternating_group.is_conj_of alternatingGroup.isConj_of
 
-/- warning: alternating_group.is_three_cycle_is_conj -> alternatingGroup.isThreeCycle_isConj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align alternating_group.is_three_cycle_is_conj alternatingGroup.isThreeCycle_isConjₓ'. -/
 theorem isThreeCycle_isConj (h5 : 5 ≤ Fintype.card α) {σ τ : alternatingGroup α}
     (hσ : IsThreeCycle (σ : Perm α)) (hτ : IsThreeCycle (τ : Perm α)) : IsConj σ τ :=
   alternatingGroup.isConj_of (isConj_iff_cycleType_eq.2 (hσ.trans hτ.symm))
@@ -225,12 +183,6 @@ theorem closure_three_cycles_eq_alternating :
 #align equiv.perm.closure_three_cycles_eq_alternating Equiv.Perm.closure_three_cycles_eq_alternating
 -/
 
-/- warning: equiv.perm.is_three_cycle.alternating_normal_closure -> Equiv.Perm.IsThreeCycle.alternating_normalClosure is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat Nat.hasLe (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fintype.card.{u1} α _inst_1)) -> (forall {f : Equiv.Perm.{succ u1} α} (hf : Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f), Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.normalClosure.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Singleton.singleton.{u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Set.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Set.hasSingleton.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subtype.mk.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) f (Equiv.Perm.IsThreeCycle.mem_alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f hf)))) (Top.top.{u1} (Subgroup.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.hasTop.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat instLENat (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) (Fintype.card.{u1} α _inst_1)) -> (forall {f : Equiv.Perm.{succ u1} α} (hf : Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f), Eq.{succ u1} (Subgroup.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.normalClosure.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Singleton.singleton.{u1, u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Set.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))) (Set.instSingletonSet.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))) (Subtype.mk.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) f (Equiv.Perm.IsThreeCycle.mem_alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f hf)))) (Top.top.{u1} (Subgroup.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.instTopSubgroup.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))
-Case conversion may be inaccurate. Consider using '#align equiv.perm.is_three_cycle.alternating_normal_closure Equiv.Perm.IsThreeCycle.alternating_normalClosureₓ'. -/
 /-- A key lemma to prove $A_5$ is simple. Shows that any normal subgroup of an alternating group on
   at least 5 elements is the entire alternating group if it contains a 3-cycle. -/
 theorem IsThreeCycle.alternating_normalClosure (h5 : 5 ≤ Fintype.card α) {f : Perm α}
@@ -277,12 +229,6 @@ namespace alternatingGroup
 
 open Equiv.Perm
 
-/- warning: alternating_group.nontrivial_of_three_le_card -> alternatingGroup.nontrivial_of_three_le_card is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat Nat.hasLe (OfNat.ofNat.{0} Nat 3 (OfNat.mk.{0} Nat 3 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fintype.card.{u1} α _inst_1)) -> (Nontrivial.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat instLENat (OfNat.ofNat.{0} Nat 3 (instOfNatNat 3)) (Fintype.card.{u1} α _inst_1)) -> (Nontrivial.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))))
-Case conversion may be inaccurate. Consider using '#align alternating_group.nontrivial_of_three_le_card alternatingGroup.nontrivial_of_three_le_cardₓ'. -/
 theorem nontrivial_of_three_le_card (h3 : 3 ≤ card α) : Nontrivial (alternatingGroup α) :=
   by
   haveI := Fintype.one_lt_card_iff_nontrivial.1 (lt_trans (by decide) h3)
@@ -295,9 +241,6 @@ theorem nontrivial_of_three_le_card (h3 : 3 ≤ card α) : Nontrivial (alternati
 instance {n : ℕ} : Nontrivial (alternatingGroup (Fin (n + 3))) :=
   nontrivial_of_three_le_card (by rw [card_fin]; exact le_add_left (le_refl 3))
 
-/- warning: alternating_group.normal_closure_fin_rotate_five -> alternatingGroup.normalClosure_finRotate_five is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align alternating_group.normal_closure_fin_rotate_five alternatingGroup.normalClosure_finRotate_fiveₓ'. -/
 /-- The normal closure of the 5-cycle `fin_rotate 5` within $A_5$ is the whole group. This will be
   used to show that the normal closure of any 5-cycle within $A_5$ is the whole group. -/
 theorem normalClosure_finRotate_five :
@@ -323,9 +266,6 @@ theorem normalClosure_finRotate_five :
           (inv_mem h))
 #align alternating_group.normal_closure_fin_rotate_five alternatingGroup.normalClosure_finRotate_five
 
-/- warning: alternating_group.normal_closure_swap_mul_swap_five -> alternatingGroup.normalClosure_swap_mul_swap_five is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align alternating_group.normal_closure_swap_mul_swap_five alternatingGroup.normalClosure_swap_mul_swap_fiveₓ'. -/
 /-- The normal closure of $(04)(13)$ within $A_5$ is the whole group. This will be
   used to show that the normal closure of any permutation of cycle type $(2,2)$ is the whole group.
   -/
@@ -350,9 +290,6 @@ theorem normalClosure_swap_mul_swap_five :
   exact mul_mem (subgroup.normal_closure_normal.conj_mem _ h g1) (inv_mem h)
 #align alternating_group.normal_closure_swap_mul_swap_five alternatingGroup.normalClosure_swap_mul_swap_five
 
-/- warning: alternating_group.is_conj_swap_mul_swap_of_cycle_type_two -> alternatingGroup.isConj_swap_mul_swap_of_cycleType_two is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align alternating_group.is_conj_swap_mul_swap_of_cycle_type_two alternatingGroup.isConj_swap_mul_swap_of_cycleType_twoₓ'. -/
 /-- Shows that any non-identity element of $A_5$ whose cycle decomposition consists only of swaps
   is conjugate to $(04)(13)$. This is used to show that the normal closure of such a permutation
   in $A_5$ is $A_5$. -/
@@ -385,12 +322,6 @@ theorem isConj_swap_mul_swap_of_cycleType_two {g : Perm (Fin 5)} (ha : g ∈ alt
     simp [h_1]
 #align alternating_group.is_conj_swap_mul_swap_of_cycle_type_two alternatingGroup.isConj_swap_mul_swap_of_cycleType_two
 
-/- warning: alternating_group.is_simple_group_five -> alternatingGroup.isSimpleGroup_five is a dubious translation:
-lean 3 declaration is
-  IsSimpleGroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))
-but is expected to have type
-  IsSimpleGroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))
-Case conversion may be inaccurate. Consider using '#align alternating_group.is_simple_group_five alternatingGroup.isSimpleGroup_fiveₓ'. -/
 /-- Shows that $A_5$ is simple by taking an arbitrary non-identity element and showing by casework
   on its cycle type that its normal closure is all of $A_5$.   -/
 instance isSimpleGroup_five : IsSimpleGroup (alternatingGroup (Fin 5)) :=
Diff
@@ -293,10 +293,7 @@ theorem nontrivial_of_three_le_card (h3 : 3 ≤ card α) : Nontrivial (alternati
 #align alternating_group.nontrivial_of_three_le_card alternatingGroup.nontrivial_of_three_le_card
 
 instance {n : ℕ} : Nontrivial (alternatingGroup (Fin (n + 3))) :=
-  nontrivial_of_three_le_card
-    (by
-      rw [card_fin]
-      exact le_add_left (le_refl 3))
+  nontrivial_of_three_le_card (by rw [card_fin]; exact le_add_left (le_refl 3))
 
 /- warning: alternating_group.normal_closure_fin_rotate_five -> alternatingGroup.normalClosure_finRotate_five is a dubious translation:
 <too large>
Diff
@@ -150,10 +150,7 @@ instance normal : (alternatingGroup α).Normal :=
 -/
 
 /- warning: alternating_group.is_conj_of -> alternatingGroup.isConj_of is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {σ : coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))} {τ : coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))}, (IsConj.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeSubtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))) σ) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeSubtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))) τ)) -> (LE.le.{0} Nat Nat.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (Finset.card.{u1} α (Equiv.Perm.support.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeSubtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))) σ))) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fintype.card.{u1} α _inst_1)) -> (IsConj.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))) σ τ)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {σ : Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))} {τ : Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))}, (IsConj.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (Subtype.val.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Set.{u1} (Equiv.Perm.{succ u1} α)) (Set.instMembershipSet.{u1} (Equiv.Perm.{succ u1} α)) x (SetLike.coe.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) σ) (Subtype.val.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Set.{u1} (Equiv.Perm.{succ u1} α)) (Set.instMembershipSet.{u1} (Equiv.Perm.{succ u1} α)) x (SetLike.coe.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) τ)) -> (LE.le.{0} Nat instLENat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (Finset.card.{u1} α (Equiv.Perm.support.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1 (Subtype.val.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Set.{u1} (Equiv.Perm.{succ u1} α)) (Set.instMembershipSet.{u1} (Equiv.Perm.{succ u1} α)) x (SetLike.coe.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) σ))) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fintype.card.{u1} α _inst_1)) -> (IsConj.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Submonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (Subgroup.toSubmonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) σ τ)
+<too large>
 Case conversion may be inaccurate. Consider using '#align alternating_group.is_conj_of alternatingGroup.isConj_ofₓ'. -/
 theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ : Perm α))
     (hσ : (σ : Perm α).support.card + 2 ≤ Fintype.card α) : IsConj σ τ :=
@@ -184,10 +181,7 @@ theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ
 #align alternating_group.is_conj_of alternatingGroup.isConj_of
 
 /- warning: alternating_group.is_three_cycle_is_conj -> alternatingGroup.isThreeCycle_isConj is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat Nat.hasLe (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fintype.card.{u1} α _inst_1)) -> (forall {σ : coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))} {τ : coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))}, (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeSubtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))) σ)) -> (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeSubtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))) τ)) -> (IsConj.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))) σ τ))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat instLENat (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) (Fintype.card.{u1} α _inst_1)) -> (forall {σ : Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))} {τ : Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))}, (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) (Subtype.val.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Set.{u1} (Equiv.Perm.{succ u1} α)) (Set.instMembershipSet.{u1} (Equiv.Perm.{succ u1} α)) x (SetLike.coe.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) σ)) -> (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) (Subtype.val.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Set.{u1} (Equiv.Perm.{succ u1} α)) (Set.instMembershipSet.{u1} (Equiv.Perm.{succ u1} α)) x (SetLike.coe.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) τ)) -> (IsConj.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Submonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (Subgroup.toSubmonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) σ τ))
+<too large>
 Case conversion may be inaccurate. Consider using '#align alternating_group.is_three_cycle_is_conj alternatingGroup.isThreeCycle_isConjₓ'. -/
 theorem isThreeCycle_isConj (h5 : 5 ≤ Fintype.card α) {σ τ : alternatingGroup α}
     (hσ : IsThreeCycle (σ : Perm α)) (hτ : IsThreeCycle (τ : Perm α)) : IsConj σ τ :=
@@ -305,10 +299,7 @@ instance {n : ℕ} : Nontrivial (alternatingGroup (Fin (n + 3))) :=
       exact le_add_left (le_refl 3))
 
 /- warning: alternating_group.normal_closure_fin_rotate_five -> alternatingGroup.normalClosure_finRotate_five is a dubious translation:
-lean 3 declaration is
-  Eq.{1} (Subgroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subgroup.normalClosure.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Singleton.singleton.{0, 0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Set.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Set.hasSingleton.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subtype.mk.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) => Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (finRotate (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Equiv.Perm.finRotate_bit1_mem_alternatingGroup (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Top.top.{0} (Subgroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subgroup.hasTop.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))))
-but is expected to have type
-  Eq.{1} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.normalClosure.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (Singleton.singleton.{0, 0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Set.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Set.instSingletonSet.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Subtype.mk.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (finRotate (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Equiv.Perm.finRotate_bit1_mem_alternatingGroup (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))))) (Top.top.{0} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.instTopSubgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align alternating_group.normal_closure_fin_rotate_five alternatingGroup.normalClosure_finRotate_fiveₓ'. -/
 /-- The normal closure of the 5-cycle `fin_rotate 5` within $A_5$ is the whole group. This will be
   used to show that the normal closure of any 5-cycle within $A_5$ is the whole group. -/
@@ -336,10 +327,7 @@ theorem normalClosure_finRotate_five :
 #align alternating_group.normal_closure_fin_rotate_five alternatingGroup.normalClosure_finRotate_five
 
 /- warning: alternating_group.normal_closure_swap_mul_swap_five -> alternatingGroup.normalClosure_swap_mul_swap_five is a dubious translation:
-lean 3 declaration is
-  Eq.{1} (Subgroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subgroup.normalClosure.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Singleton.singleton.{0, 0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Set.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Set.hasSingleton.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subtype.mk.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) => Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Iff.mpr (Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Eq.{1} (Units.{0} Int Int.monoid) (coeFn.{1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid)))))) (Equiv.Perm.mem_alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (AsTrue.get (Eq.{1} (Units.{0} Int Int.monoid) (coeFn.{1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid)))))) (Units.decidableEq.{0} Int Int.monoid (fun (a : Int) (b : Int) => Int.decidableEq a b) (coeFn.{1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid)))))) trivial))))) (Top.top.{0} (Subgroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subgroup.hasTop.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))))
-but is expected to have type
-  Eq.{1} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.normalClosure.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (Singleton.singleton.{0, 0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Set.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Set.instSingletonSet.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Subtype.mk.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))))) (Iff.mpr (Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Equiv.Perm.mem_alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (of_decide_eq_true (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Units.instDecidableEqUnits.{0} Int Int.instMonoidInt (fun (a : Int) (b : Int) => Int.instDecidableEqInt a b) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Eq.refl.{1} Bool Bool.true)))))) (Top.top.{0} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.instTopSubgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align alternating_group.normal_closure_swap_mul_swap_five alternatingGroup.normalClosure_swap_mul_swap_fiveₓ'. -/
 /-- The normal closure of $(04)(13)$ within $A_5$ is the whole group. This will be
   used to show that the normal closure of any permutation of cycle type $(2,2)$ is the whole group.
@@ -366,10 +354,7 @@ theorem normalClosure_swap_mul_swap_five :
 #align alternating_group.normal_closure_swap_mul_swap_five alternatingGroup.normalClosure_swap_mul_swap_five
 
 /- warning: alternating_group.is_conj_swap_mul_swap_of_cycle_type_two -> alternatingGroup.isConj_swap_mul_swap_of_cycleType_two is a dubious translation:
-lean 3 declaration is
-  forall {g : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))}, (Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) g (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) -> (Ne.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) g (OfNat.ofNat.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) 1 (OfNat.mk.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) 1 (One.one.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (MulOneClass.toHasOne.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))))) -> (forall (n : Nat), (Membership.Mem.{0, 0} Nat (Multiset.{0} Nat) (Multiset.hasMem.{0} Nat) n (Equiv.Perm.cycleType.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) g)) -> (Eq.{1} Nat n (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) -> (IsConj.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) g)
-but is expected to have type
-  forall {g : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))}, (Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) g (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) -> (Ne.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) g (OfNat.ofNat.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) 1 (One.toOfNat1.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (InvOneClass.toOne.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvOneMonoid.toInvOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivisionMonoid.toDivInvOneMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivisionMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))))) -> (forall (n : Nat), (Membership.mem.{0, 0} Nat (Multiset.{0} Nat) (Multiset.instMembershipMultiset.{0} Nat) n (Equiv.Perm.cycleType.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) g)) -> (Eq.{1} Nat n (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))) -> (IsConj.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))))) g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align alternating_group.is_conj_swap_mul_swap_of_cycle_type_two alternatingGroup.isConj_swap_mul_swap_of_cycleType_twoₓ'. -/
 /-- Shows that any non-identity element of $A_5$ whose cycle decomposition consists only of swaps
   is conjugate to $(04)(13)$. This is used to show that the normal closure of such a permutation
Diff
@@ -80,7 +80,7 @@ namespace Equiv.Perm
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {f : Equiv.Perm.{succ u1} α}, Iff (Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) f (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Eq.{1} (Units.{0} Int Int.monoid) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{succ u1} α) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1) f) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid))))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {f : Equiv.Perm.{succ u1} α}, Iff (Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) f (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (FunLike.coe.{succ u1, succ u1, 1} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (fun (_x : Equiv.Perm.{succ u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{u1, u1, 0} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} α) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{u1, u1, 0} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1) f) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt)))))))))
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {f : Equiv.Perm.{succ u1} α}, Iff (Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) f (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (FunLike.coe.{succ u1, succ u1, 1} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (fun (_x : Equiv.Perm.{succ u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{u1, u1, 0} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} α) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{u1, u1, 0} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1) f) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt)))))))))
 Case conversion may be inaccurate. Consider using '#align equiv.perm.mem_alternating_group Equiv.Perm.mem_alternatingGroupₓ'. -/
 @[simp]
 theorem mem_alternatingGroup {f : Perm α} : f ∈ alternatingGroup α ↔ sign f = 1 :=
@@ -339,7 +339,7 @@ theorem normalClosure_finRotate_five :
 lean 3 declaration is
   Eq.{1} (Subgroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subgroup.normalClosure.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Singleton.singleton.{0, 0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Set.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Set.hasSingleton.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subtype.mk.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) => Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Iff.mpr (Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Eq.{1} (Units.{0} Int Int.monoid) (coeFn.{1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid)))))) (Equiv.Perm.mem_alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (AsTrue.get (Eq.{1} (Units.{0} Int Int.monoid) (coeFn.{1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid)))))) (Units.decidableEq.{0} Int Int.monoid (fun (a : Int) (b : Int) => Int.decidableEq a b) (coeFn.{1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid)))))) trivial))))) (Top.top.{0} (Subgroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subgroup.hasTop.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))))
 but is expected to have type
-  Eq.{1} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.normalClosure.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (Singleton.singleton.{0, 0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Set.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Set.instSingletonSet.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Subtype.mk.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))))) (Iff.mpr (Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Equiv.Perm.mem_alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (of_decide_eq_true (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Units.instDecidableEqUnits.{0} Int Int.instMonoidInt (fun (a : Int) (b : Int) => Int.instDecidableEqInt a b) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Eq.refl.{1} Bool Bool.true)))))) (Top.top.{0} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.instTopSubgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))))
+  Eq.{1} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.normalClosure.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (Singleton.singleton.{0, 0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Set.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Set.instSingletonSet.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Subtype.mk.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))))) (Iff.mpr (Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Equiv.Perm.mem_alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (of_decide_eq_true (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Units.instDecidableEqUnits.{0} Int Int.instMonoidInt (fun (a : Int) (b : Int) => Int.instDecidableEqInt a b) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Eq.refl.{1} Bool Bool.true)))))) (Top.top.{0} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.instTopSubgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))))
 Case conversion may be inaccurate. Consider using '#align alternating_group.normal_closure_swap_mul_swap_five alternatingGroup.normalClosure_swap_mul_swap_fiveₓ'. -/
 /-- The normal closure of $(04)(13)$ within $A_5$ is the whole group. This will be
   used to show that the normal closure of any permutation of cycle type $(2,2)$ is the whole group.
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Aaron Anderson
 
 ! This file was ported from Lean 3 source module group_theory.specific_groups.alternating
-! leanprover-community/mathlib commit 0f6670b8af2dff699de1c0b4b49039b31bc13c46
+! leanprover-community/mathlib commit 9a48a083b390d9b84a71efbdc4e8dfa26a687104
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.Tactic.IntervalCases
 /-!
 # Alternating Groups
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 The alternating group on a finite type `α` is the subgroup of the permutation group `perm α`
 consisting of the even permutations.
 
Diff
@@ -48,28 +48,48 @@ open Equiv Equiv.Perm Subgroup Fintype
 
 variable (α : Type _) [Fintype α] [DecidableEq α]
 
+#print alternatingGroup /-
 /-- The alternating group on a finite type, realized as a subgroup of `equiv.perm`.
   For $A_n$, use `alternating_group (fin n)`. -/
 def alternatingGroup : Subgroup (Perm α) :=
   sign.ker deriving Fintype
 #align alternating_group alternatingGroup
+-/
 
 instance [Subsingleton α] : Unique (alternatingGroup α) :=
   ⟨⟨1⟩, fun ⟨p, hp⟩ => Subtype.eq (Subsingleton.elim p _)⟩
 
 variable {α}
 
+/- warning: alternating_group_eq_sign_ker -> alternatingGroup_eq_sign_ker is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], Eq.{succ u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)) (MonoidHom.ker.{u1, 0} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid) (Equiv.Perm.sign.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], Eq.{succ u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)) (MonoidHom.ker.{u1, 0} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (Equiv.Perm.sign.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1))
+Case conversion may be inaccurate. Consider using '#align alternating_group_eq_sign_ker alternatingGroup_eq_sign_kerₓ'. -/
 theorem alternatingGroup_eq_sign_ker : alternatingGroup α = sign.ker :=
   rfl
 #align alternating_group_eq_sign_ker alternatingGroup_eq_sign_ker
 
 namespace Equiv.Perm
 
+/- warning: equiv.perm.mem_alternating_group -> Equiv.Perm.mem_alternatingGroup is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {f : Equiv.Perm.{succ u1} α}, Iff (Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) f (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Eq.{1} (Units.{0} Int Int.monoid) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{succ u1} α) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1) f) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid))))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {f : Equiv.Perm.{succ u1} α}, Iff (Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) f (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (FunLike.coe.{succ u1, succ u1, 1} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (fun (_x : Equiv.Perm.{succ u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{u1, u1, 0} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} α) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{u1, u1, 0} (MonoidHom.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{u1, 0} (Equiv.Perm.{succ u1} α) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1) f) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{succ u1} α) => Units.{0} Int Int.instMonoidInt) f) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt)))))))))
+Case conversion may be inaccurate. Consider using '#align equiv.perm.mem_alternating_group Equiv.Perm.mem_alternatingGroupₓ'. -/
 @[simp]
 theorem mem_alternatingGroup {f : Perm α} : f ∈ alternatingGroup α ↔ sign f = 1 :=
   sign.mem_ker
 #align equiv.perm.mem_alternating_group Equiv.Perm.mem_alternatingGroup
 
+/- warning: equiv.perm.prod_list_swap_mem_alternating_group_iff_even_length -> Equiv.Perm.prod_list_swap_mem_alternatingGroup_iff_even_length is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {l : List.{u1} (Equiv.Perm.{succ u1} α)}, (forall (g : Equiv.Perm.{succ u1} α), (Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (List.{u1} (Equiv.Perm.{succ u1} α)) (List.hasMem.{u1} (Equiv.Perm.{succ u1} α)) g l) -> (Equiv.Perm.IsSwap.{u1} α (fun (a : α) (b : α) => _inst_2 a b) g)) -> (Iff (Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (List.prod.{u1} (Equiv.Perm.{succ u1} α) (MulOneClass.toHasMul.{u1} (Equiv.Perm.{succ u1} α) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) (MulOneClass.toHasOne.{u1} (Equiv.Perm.{succ u1} α) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) l) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Even.{0} Nat Nat.hasAdd (List.length.{u1} (Equiv.Perm.{succ u1} α) l)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {l : List.{u1} (Equiv.Perm.{succ u1} α)}, (forall (g : Equiv.Perm.{succ u1} α), (Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (List.{u1} (Equiv.Perm.{succ u1} α)) (List.instMembershipList.{u1} (Equiv.Perm.{succ u1} α)) g l) -> (Equiv.Perm.IsSwap.{u1} α (fun (a : α) (b : α) => _inst_2 a b) g)) -> (Iff (Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (List.prod.{u1} (Equiv.Perm.{succ u1} α) (MulOneClass.toMul.{u1} (Equiv.Perm.{succ u1} α) (Monoid.toMulOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) (InvOneClass.toOne.{u1} (Equiv.Perm.{succ u1} α) (DivInvOneMonoid.toInvOneClass.{u1} (Equiv.Perm.{succ u1} α) (DivisionMonoid.toDivInvOneMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivisionMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))))) l) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Even.{0} Nat instAddNat (List.length.{u1} (Equiv.Perm.{succ u1} α) l)))
+Case conversion may be inaccurate. Consider using '#align equiv.perm.prod_list_swap_mem_alternating_group_iff_even_length Equiv.Perm.prod_list_swap_mem_alternatingGroup_iff_even_lengthₓ'. -/
 theorem prod_list_swap_mem_alternatingGroup_iff_even_length {l : List (Perm α)}
     (hl : ∀ g ∈ l, IsSwap g) : l.Prod ∈ alternatingGroup α ↔ Even l.length :=
   by
@@ -78,11 +98,23 @@ theorem prod_list_swap_mem_alternatingGroup_iff_even_length {l : List (Perm α)}
   decide
 #align equiv.perm.prod_list_swap_mem_alternating_group_iff_even_length Equiv.Perm.prod_list_swap_mem_alternatingGroup_iff_even_length
 
+/- warning: equiv.perm.is_three_cycle.mem_alternating_group -> Equiv.Perm.IsThreeCycle.mem_alternatingGroup is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {f : Equiv.Perm.{succ u1} α}, (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f) -> (Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) f (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {f : Equiv.Perm.{succ u1} α}, (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f) -> (Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) f (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))
+Case conversion may be inaccurate. Consider using '#align equiv.perm.is_three_cycle.mem_alternating_group Equiv.Perm.IsThreeCycle.mem_alternatingGroupₓ'. -/
 theorem IsThreeCycle.mem_alternatingGroup {f : Perm α} (h : IsThreeCycle f) :
     f ∈ alternatingGroup α :=
   mem_alternatingGroup.2 h.sign
 #align equiv.perm.is_three_cycle.mem_alternating_group Equiv.Perm.IsThreeCycle.mem_alternatingGroup
 
+/- warning: equiv.perm.fin_rotate_bit1_mem_alternating_group -> Equiv.Perm.finRotate_bit1_mem_alternatingGroup is a dubious translation:
+lean 3 declaration is
+  forall {n : Nat}, Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)))) (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n))))) (finRotate (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)) (alternatingGroup.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)) (Fin.fintype (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)) (fun (a : Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)) (b : Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd n)) => Fin.decidableEq (bit1.{0} Nat Nat.hasOne Nat.hasAdd n) a b))
+but is expected to have type
+  forall {n : Nat}, Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)))) (Equiv.Perm.{1} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n))))) (finRotate (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)) (alternatingGroup.{0} (Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)) (Fin.fintype (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)) (fun (a : Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)) (b : Fin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n)) => instDecidableEqFin (bit1.{0} Nat (CanonicallyOrderedCommSemiring.toOne.{0} Nat Nat.canonicallyOrderedCommSemiring) instAddNat n) a b))
+Case conversion may be inaccurate. Consider using '#align equiv.perm.fin_rotate_bit1_mem_alternating_group Equiv.Perm.finRotate_bit1_mem_alternatingGroupₓ'. -/
 theorem finRotate_bit1_mem_alternatingGroup {n : ℕ} :
     finRotate (bit1 n) ∈ alternatingGroup (Fin (bit1 n)) := by
   rw [mem_alternating_group, bit1, sign_finRotate, pow_bit0', Int.units_mul_self, one_pow]
@@ -90,6 +122,12 @@ theorem finRotate_bit1_mem_alternatingGroup {n : ℕ} :
 
 end Equiv.Perm
 
+/- warning: two_mul_card_alternating_group -> two_mul_card_alternatingGroup is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] [_inst_3 : Nontrivial.{u1} α], Eq.{1} Nat (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat Nat.hasMul) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fintype.card.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (alternatingGroup.fintype.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Fintype.card.{u1} (Equiv.Perm.{succ u1} α) (Equiv.fintype.{u1, u1} α α (fun (a : α) (b : α) => _inst_2 a b) (fun (a : α) (b : α) => _inst_2 a b) _inst_1 _inst_1))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] [_inst_3 : Nontrivial.{u1} α], Eq.{1} Nat (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat instMulNat) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) (Fintype.card.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (fta.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Fintype.card.{u1} (Equiv.Perm.{succ u1} α) (equivFintype.{u1, u1} α α (fun (a : α) (b : α) => _inst_2 a b) (fun (a : α) (b : α) => _inst_2 a b) _inst_1 _inst_1))
+Case conversion may be inaccurate. Consider using '#align two_mul_card_alternating_group two_mul_card_alternatingGroupₓ'. -/
 theorem two_mul_card_alternatingGroup [Nontrivial α] :
     2 * card (alternatingGroup α) = card (Perm α) :=
   by
@@ -102,10 +140,18 @@ namespace alternatingGroup
 
 open Equiv.Perm
 
+#print alternatingGroup.normal /-
 instance normal : (alternatingGroup α).Normal :=
   sign.normal_ker
 #align alternating_group.normal alternatingGroup.normal
+-/
 
+/- warning: alternating_group.is_conj_of -> alternatingGroup.isConj_of is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {σ : coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))} {τ : coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))}, (IsConj.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeSubtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))) σ) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeSubtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))) τ)) -> (LE.le.{0} Nat Nat.hasLe (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (Finset.card.{u1} α (Equiv.Perm.support.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeSubtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))) σ))) (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fintype.card.{u1} α _inst_1)) -> (IsConj.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))) σ τ)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α] {σ : Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))} {τ : Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))}, (IsConj.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (Subtype.val.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Set.{u1} (Equiv.Perm.{succ u1} α)) (Set.instMembershipSet.{u1} (Equiv.Perm.{succ u1} α)) x (SetLike.coe.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) σ) (Subtype.val.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Set.{u1} (Equiv.Perm.{succ u1} α)) (Set.instMembershipSet.{u1} (Equiv.Perm.{succ u1} α)) x (SetLike.coe.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) τ)) -> (LE.le.{0} Nat instLENat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (Finset.card.{u1} α (Equiv.Perm.support.{u1} α (fun (a : α) (b : α) => _inst_2 a b) _inst_1 (Subtype.val.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Set.{u1} (Equiv.Perm.{succ u1} α)) (Set.instMembershipSet.{u1} (Equiv.Perm.{succ u1} α)) x (SetLike.coe.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) σ))) (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (Fintype.card.{u1} α _inst_1)) -> (IsConj.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Submonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (Subgroup.toSubmonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) σ τ)
+Case conversion may be inaccurate. Consider using '#align alternating_group.is_conj_of alternatingGroup.isConj_ofₓ'. -/
 theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ : Perm α))
     (hσ : (σ : Perm α).support.card + 2 ≤ Fintype.card α) : IsConj σ τ :=
   by
@@ -134,6 +180,12 @@ theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ
       simp [mul_assoc]
 #align alternating_group.is_conj_of alternatingGroup.isConj_of
 
+/- warning: alternating_group.is_three_cycle_is_conj -> alternatingGroup.isThreeCycle_isConj is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat Nat.hasLe (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fintype.card.{u1} α _inst_1)) -> (forall {σ : coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))} {τ : coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))}, (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeSubtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))) σ)) -> (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Equiv.Perm.{succ u1} α) (coeSubtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))) τ)) -> (IsConj.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (DivInvMonoid.toMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Group.toDivInvMonoid.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))) σ τ))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat instLENat (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) (Fintype.card.{u1} α _inst_1)) -> (forall {σ : Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))} {τ : Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))}, (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) (Subtype.val.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Set.{u1} (Equiv.Perm.{succ u1} α)) (Set.instMembershipSet.{u1} (Equiv.Perm.{succ u1} α)) x (SetLike.coe.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) σ)) -> (Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) (Subtype.val.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Set.{u1} (Equiv.Perm.{succ u1} α)) (Set.instMembershipSet.{u1} (Equiv.Perm.{succ u1} α)) x (SetLike.coe.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) τ)) -> (IsConj.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Submonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (DivInvMonoid.toMonoid.{u1} (Equiv.Perm.{succ u1} α) (Group.toDivInvMonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (Subgroup.toSubmonoid.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) σ τ))
+Case conversion may be inaccurate. Consider using '#align alternating_group.is_three_cycle_is_conj alternatingGroup.isThreeCycle_isConjₓ'. -/
 theorem isThreeCycle_isConj (h5 : 5 ≤ Fintype.card α) {σ τ : alternatingGroup α}
     (hσ : IsThreeCycle (σ : Perm α)) (hτ : IsThreeCycle (τ : Perm α)) : IsConj σ τ :=
   alternatingGroup.isConj_of (isConj_iff_cycleType_eq.2 (hσ.trans hτ.symm))
@@ -146,6 +198,7 @@ namespace Equiv.Perm
 
 open alternatingGroup
 
+#print Equiv.Perm.closure_three_cycles_eq_alternating /-
 @[simp]
 theorem closure_three_cycles_eq_alternating :
     closure { σ : Perm α | IsThreeCycle σ } = alternatingGroup α :=
@@ -173,7 +226,14 @@ theorem closure_three_cycles_eq_alternating :
           (hl b (List.mem_cons_of_mem a (l.mem_cons_self b))))
         (ih _ (fun g hg => hl g (List.mem_cons_of_mem _ (List.mem_cons_of_mem _ hg))) hn)
 #align equiv.perm.closure_three_cycles_eq_alternating Equiv.Perm.closure_three_cycles_eq_alternating
+-/
 
+/- warning: equiv.perm.is_three_cycle.alternating_normal_closure -> Equiv.Perm.IsThreeCycle.alternating_normalClosure is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat Nat.hasLe (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fintype.card.{u1} α _inst_1)) -> (forall {f : Equiv.Perm.{succ u1} α} (hf : Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f), Eq.{succ u1} (Subgroup.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.normalClosure.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Singleton.singleton.{u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Set.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Set.hasSingleton.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subtype.mk.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.Mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.hasMem.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) f (Equiv.Perm.IsThreeCycle.mem_alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f hf)))) (Top.top.{u1} (Subgroup.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.hasTop.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat instLENat (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) (Fintype.card.{u1} α _inst_1)) -> (forall {f : Equiv.Perm.{succ u1} α} (hf : Equiv.Perm.IsThreeCycle.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f), Eq.{succ u1} (Subgroup.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.normalClosure.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) (Singleton.singleton.{u1, u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Set.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))) (Set.instSingletonSet.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))) (Subtype.mk.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))) f (Equiv.Perm.IsThreeCycle.mem_alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b) f hf)))) (Top.top.{u1} (Subgroup.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.instTopSubgroup.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))) (Subgroup.toGroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))))
+Case conversion may be inaccurate. Consider using '#align equiv.perm.is_three_cycle.alternating_normal_closure Equiv.Perm.IsThreeCycle.alternating_normalClosureₓ'. -/
 /-- A key lemma to prove $A_5$ is simple. Shows that any normal subgroup of an alternating group on
   at least 5 elements is the entire alternating group if it contains a 3-cycle. -/
 theorem IsThreeCycle.alternating_normalClosure (h5 : 5 ≤ Fintype.card α) {f : Perm α}
@@ -192,6 +252,7 @@ theorem IsThreeCycle.alternating_normalClosure (h5 : 5 ≤ Fintype.card α) {f :
       exact ⟨⟨f, hf.mem_alternating_group⟩, Set.mem_singleton _, is_three_cycle_is_conj h5 hf h⟩)
 #align equiv.perm.is_three_cycle.alternating_normal_closure Equiv.Perm.IsThreeCycle.alternating_normalClosure
 
+#print Equiv.Perm.isThreeCycle_sq_of_three_mem_cycleType_five /-
 /-- Part of proving $A_5$ is simple. Shows that the square of any element of $A_5$ with a 3-cycle in
   its cycle decomposition is a 3-cycle, so the normal closure of the original element must be
   $A_5$. -/
@@ -211,6 +272,7 @@ theorem isThreeCycle_sq_of_three_mem_cycleType_five {g : Perm (Fin 5)} (h : 3 
   rw [← hd.card_support_mul, h3]
   exact (c * g').support.card_le_univ
 #align equiv.perm.is_three_cycle_sq_of_three_mem_cycle_type_five Equiv.Perm.isThreeCycle_sq_of_three_mem_cycleType_five
+-/
 
 end Equiv.Perm
 
@@ -218,6 +280,12 @@ namespace alternatingGroup
 
 open Equiv.Perm
 
+/- warning: alternating_group.nontrivial_of_three_le_card -> alternatingGroup.nontrivial_of_three_le_card is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat Nat.hasLe (OfNat.ofNat.{0} Nat 3 (OfNat.mk.{0} Nat 3 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fintype.card.{u1} α _inst_1)) -> (Nontrivial.{u1} (coeSort.{succ u1, succ (succ u1)} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.setLike.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Fintype.{u1} α] [_inst_2 : DecidableEq.{succ u1} α], (LE.le.{0} Nat instLENat (OfNat.ofNat.{0} Nat 3 (instOfNatNat 3)) (Fintype.card.{u1} α _inst_1)) -> (Nontrivial.{u1} (Subtype.{succ u1} (Equiv.Perm.{succ u1} α) (fun (x : Equiv.Perm.{succ u1} α) => Membership.mem.{u1, u1} (Equiv.Perm.{succ u1} α) (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (SetLike.instMembership.{u1, u1} (Subgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α)) (Equiv.Perm.{succ u1} α) (Subgroup.instSetLikeSubgroup.{u1} (Equiv.Perm.{succ u1} α) (Equiv.Perm.permGroup.{u1} α))) x (alternatingGroup.{u1} α _inst_1 (fun (a : α) (b : α) => _inst_2 a b)))))
+Case conversion may be inaccurate. Consider using '#align alternating_group.nontrivial_of_three_le_card alternatingGroup.nontrivial_of_three_le_cardₓ'. -/
 theorem nontrivial_of_three_le_card (h3 : 3 ≤ card α) : Nontrivial (alternatingGroup α) :=
   by
   haveI := Fintype.one_lt_card_iff_nontrivial.1 (lt_trans (by decide) h3)
@@ -233,6 +301,12 @@ instance {n : ℕ} : Nontrivial (alternatingGroup (Fin (n + 3))) :=
       rw [card_fin]
       exact le_add_left (le_refl 3))
 
+/- warning: alternating_group.normal_closure_fin_rotate_five -> alternatingGroup.normalClosure_finRotate_five is a dubious translation:
+lean 3 declaration is
+  Eq.{1} (Subgroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subgroup.normalClosure.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Singleton.singleton.{0, 0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Set.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Set.hasSingleton.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subtype.mk.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) => Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (finRotate (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Equiv.Perm.finRotate_bit1_mem_alternatingGroup (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Top.top.{0} (Subgroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subgroup.hasTop.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))))
+but is expected to have type
+  Eq.{1} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.normalClosure.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (Singleton.singleton.{0, 0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Set.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Set.instSingletonSet.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Subtype.mk.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (finRotate (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Equiv.Perm.finRotate_bit1_mem_alternatingGroup (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))))) (Top.top.{0} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.instTopSubgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))))
+Case conversion may be inaccurate. Consider using '#align alternating_group.normal_closure_fin_rotate_five alternatingGroup.normalClosure_finRotate_fiveₓ'. -/
 /-- The normal closure of the 5-cycle `fin_rotate 5` within $A_5$ is the whole group. This will be
   used to show that the normal closure of any 5-cycle within $A_5$ is the whole group. -/
 theorem normalClosure_finRotate_five :
@@ -258,6 +332,12 @@ theorem normalClosure_finRotate_five :
           (inv_mem h))
 #align alternating_group.normal_closure_fin_rotate_five alternatingGroup.normalClosure_finRotate_five
 
+/- warning: alternating_group.normal_closure_swap_mul_swap_five -> alternatingGroup.normalClosure_swap_mul_swap_five is a dubious translation:
+lean 3 declaration is
+  Eq.{1} (Subgroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subgroup.normalClosure.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Singleton.singleton.{0, 0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Set.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Set.hasSingleton.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subtype.mk.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) => Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Iff.mpr (Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Eq.{1} (Units.{0} Int Int.monoid) (coeFn.{1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid)))))) (Equiv.Perm.mem_alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (AsTrue.get (Eq.{1} (Units.{0} Int Int.monoid) (coeFn.{1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid)))))) (Units.decidableEq.{0} Int Int.monoid (fun (a : Int) (b : Int) => Int.decidableEq a b) (coeFn.{1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (fun (_x : MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) => (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) -> (Units.{0} Int Int.monoid)) (MonoidHom.hasCoeToFun.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Units.{0} Int Int.monoid) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))) (Units.mulOneClass.{0} Int Int.monoid)) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (OfNat.ofNat.{0} (Units.{0} Int Int.monoid) 1 (OfNat.mk.{0} (Units.{0} Int Int.monoid) 1 (One.one.{0} (Units.{0} Int Int.monoid) (MulOneClass.toHasOne.{0} (Units.{0} Int Int.monoid) (Units.mulOneClass.{0} Int Int.monoid)))))) trivial))))) (Top.top.{0} (Subgroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))) (Subgroup.hasTop.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))))
+but is expected to have type
+  Eq.{1} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.normalClosure.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (Singleton.singleton.{0, 0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Set.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Set.instSingletonSet.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))))) (Subtype.mk.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))))) (Iff.mpr (Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Equiv.Perm.mem_alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (of_decide_eq_true (Eq.{1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Units.instDecidableEqUnits.{0} Int Int.instMonoidInt (fun (a : Int) (b : Int) => Int.instDecidableEqInt a b) (FunLike.coe.{1, 1, 1} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (_x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) _x) (MulHomClass.toFunLike.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))))) (MulOneClass.toMul.{0} (Units.{0} Int Int.instMonoidInt) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (MonoidHomClass.toMulHomClass.{0, 0, 0} (MonoidHom.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt) (MonoidHom.monoidHomClass.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Units.{0} Int Int.instMonoidInt) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))) (Units.instMulOneClassUnits.{0} Int Int.instMonoidInt)))) (Equiv.Perm.sign.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (InvOneClass.toOne.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivInvOneMonoid.toInvOneClass.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionMonoid.toDivInvOneMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (DivisionCommMonoid.toDivisionMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (CommGroup.toDivisionCommMonoid.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Units.{0} Int Int.instMonoidInt) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))))) (Units.instCommGroupUnitsToMonoid.{0} Int Int.instCommMonoidInt))))))))) (Eq.refl.{1} Bool Bool.true)))))) (Top.top.{0} (Subgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.instTopSubgroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))))
+Case conversion may be inaccurate. Consider using '#align alternating_group.normal_closure_swap_mul_swap_five alternatingGroup.normalClosure_swap_mul_swap_fiveₓ'. -/
 /-- The normal closure of $(04)(13)$ within $A_5$ is the whole group. This will be
   used to show that the normal closure of any permutation of cycle type $(2,2)$ is the whole group.
   -/
@@ -282,6 +362,12 @@ theorem normalClosure_swap_mul_swap_five :
   exact mul_mem (subgroup.normal_closure_normal.conj_mem _ h g1) (inv_mem h)
 #align alternating_group.normal_closure_swap_mul_swap_five alternatingGroup.normalClosure_swap_mul_swap_five
 
+/- warning: alternating_group.is_conj_swap_mul_swap_of_cycle_type_two -> alternatingGroup.isConj_swap_mul_swap_of_cycleType_two is a dubious translation:
+lean 3 declaration is
+  forall {g : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))}, (Membership.Mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (SetLike.hasMem.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) g (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) -> (Ne.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) g (OfNat.ofNat.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) 1 (OfNat.mk.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) 1 (One.one.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (MulOneClass.toHasOne.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Equiv.Perm.permGroup.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))))) -> (forall (n : Nat), (Membership.Mem.{0, 0} Nat (Multiset.{0} Nat) (Multiset.hasMem.{0} Nat) n (Equiv.Perm.cycleType.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) g)) -> (Eq.{1} Nat n (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) -> (IsConj.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (MulOneClass.toHasMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 0 (Zero.zero.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasZeroOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 4 (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (bit0.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 1 (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (OfNat.ofNat.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (OfNat.mk.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) 3 (bit1.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (Fin.hasAdd (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (One.one.{0} (Fin (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) (Fin.hasOneOfNeZero (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))) (NeZero.succ (bit0.{0} Nat Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))))) g)
+but is expected to have type
+  forall {g : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))}, (Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) g (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b))) -> (Ne.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) g (OfNat.ofNat.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) 1 (One.toOfNat1.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (InvOneClass.toOne.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvOneMonoid.toInvOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivisionMonoid.toDivInvOneMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivisionMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))))) -> (forall (n : Nat), (Membership.mem.{0, 0} Nat (Multiset.{0} Nat) (Multiset.instMembershipMultiset.{0} Nat) n (Equiv.Perm.cycleType.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) g)) -> (Eq.{1} Nat n (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)))) -> (IsConj.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) (HMul.hMul.{0, 0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (instHMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (MulOneClass.toMul.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Monoid.toMulOneClass.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (DivInvMonoid.toMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Group.toDivInvMonoid.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 0 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 0 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 4 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 4 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4)))))) (Equiv.swap.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 1 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 1 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))) (OfNat.ofNat.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) 3 (Fin.instOfNatFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) 3 (NeZero.succ (OfNat.ofNat.{0} Nat 4 (instOfNatNat 4))))))) g)
+Case conversion may be inaccurate. Consider using '#align alternating_group.is_conj_swap_mul_swap_of_cycle_type_two alternatingGroup.isConj_swap_mul_swap_of_cycleType_twoₓ'. -/
 /-- Shows that any non-identity element of $A_5$ whose cycle decomposition consists only of swaps
   is conjugate to $(04)(13)$. This is used to show that the normal closure of such a permutation
   in $A_5$ is $A_5$. -/
@@ -314,6 +400,12 @@ theorem isConj_swap_mul_swap_of_cycleType_two {g : Perm (Fin 5)} (ha : g ∈ alt
     simp [h_1]
 #align alternating_group.is_conj_swap_mul_swap_of_cycle_type_two alternatingGroup.isConj_swap_mul_swap_of_cycleType_two
 
+/- warning: alternating_group.is_simple_group_five -> alternatingGroup.isSimpleGroup_five is a dubious translation:
+lean 3 declaration is
+  IsSimpleGroup.{0} (coeSort.{1, 2} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) Type (SetLike.hasCoeToSort.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Subgroup.setLike.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) (b : Fin (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 5 (OfNat.mk.{0} Nat 5 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) a b)))
+but is expected to have type
+  IsSimpleGroup.{0} (Subtype.{1} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (fun (x : Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) => Membership.mem.{0, 0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (SetLike.instMembership.{0, 0} (Subgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))))) (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Subgroup.instSetLikeSubgroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))))) x (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))) (Subgroup.toGroup.{0} (Equiv.Perm.{1} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (Equiv.Perm.permGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)))) (alternatingGroup.{0} (Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (Fin.fintype (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (fun (a : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) (b : Fin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 5 (instOfNatNat 5)) a b)))
+Case conversion may be inaccurate. Consider using '#align alternating_group.is_simple_group_five alternatingGroup.isSimpleGroup_fiveₓ'. -/
 /-- Shows that $A_5$ is simple by taking an arbitrary non-identity element and showing by casework
   on its cycle type that its normal closure is all of $A_5$.   -/
 instance isSimpleGroup_five : IsSimpleGroup (alternatingGroup (Fin 5)) :=
Diff
@@ -107,7 +107,7 @@ instance normal : (alternatingGroup α).Normal :=
 #align alternating_group.normal alternatingGroup.normal
 
 theorem isConj_of {σ τ : alternatingGroup α} (hc : IsConj (σ : Perm α) (τ : Perm α))
-    (hσ : (σ : Perm α).Support.card + 2 ≤ Fintype.card α) : IsConj σ τ :=
+    (hσ : (σ : Perm α).support.card + 2 ≤ Fintype.card α) : IsConj σ τ :=
   by
   obtain ⟨σ, hσ⟩ := σ
   obtain ⟨τ, hτ⟩ := τ
@@ -209,7 +209,7 @@ theorem isThreeCycle_sq_of_three_mem_cycleType_five {g : Perm (Fin 5)} (h : 3 
   rw [le_antisymm (two_le_of_mem_cycle_type hn) (le_trans (le_card_support_of_mem_cycle_type hn) _)]
   apply le_of_add_le_add_left
   rw [← hd.card_support_mul, h3]
-  exact (c * g').Support.card_le_univ
+  exact (c * g').support.card_le_univ
 #align equiv.perm.is_three_cycle_sq_of_three_mem_cycle_type_five Equiv.Perm.isThreeCycle_sq_of_three_mem_cycleType_five
 
 end Equiv.Perm

Changes in mathlib4

mathlib3
mathlib4
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11801)
Diff
@@ -318,7 +318,7 @@ instance isSimpleGroup_five : IsSimpleGroup (alternatingGroup (Fin 5)) :=
     by_cases h2 : ∀ n ∈ g.cycleType, n = 2
     -- If the cycle decomposition of `g` consists entirely of swaps, then the cycle type is $(2,2)$.
     -- This means that it is conjugate to $(04)(13)$, whose normal closure is $A_5$.
-    · rw [Ne.def, Subtype.ext_iff] at g1
+    · rw [Ne, Subtype.ext_iff] at g1
       exact
         (isConj_swap_mul_swap_of_cycleType_two gA g1 h2).normalClosure_eq_top_of
           normalClosure_swap_mul_swap_five
chore: avoid some unused variables (#11594)

These will be caught by the linter in a future lean version.

Diff
@@ -291,8 +291,7 @@ theorem isConj_swap_mul_swap_of_cycleType_two {g : Perm (Fin 5)} (ha : g ∈ alt
   rw [isConj_iff_cycleType_eq, h2]
   interval_cases h_1 : Multiset.card g.cycleType
   · exact (h1 (card_cycleType_eq_zero.1 h_1)).elim
-  · contrapose! ha
-    simp [h_1]
+  · simp at ha
   · have h04 : (0 : Fin 5) ≠ 4 := by decide
     have h13 : (1 : Fin 5) ≠ 3 := by decide
     rw [Disjoint.cycleType, (isCycle_swap h04).cycleType, (isCycle_swap h13).cycleType,
@@ -300,8 +299,7 @@ theorem isConj_swap_mul_swap_of_cycleType_two {g : Perm (Fin 5)} (ha : g ∈ alt
     · rfl
     · rw [disjoint_iff_disjoint_support, support_swap h04, support_swap h13]
       decide
-  · contrapose! ha
-    decide
+  · contradiction
 #align alternating_group.is_conj_swap_mul_swap_of_cycle_type_two alternatingGroup.isConj_swap_mul_swap_of_cycleType_two
 
 /-- Shows that $A_5$ is simple by taking an arbitrary non-identity element and showing by casework
@@ -347,9 +345,9 @@ instance isSimpleGroup_five : IsSimpleGroup (alternatingGroup (Fin 5)) :=
       exact mul_mem h h
     · -- The case `n = 4` leads to contradiction, as no element of $A_5$ includes a 4-cycle.
       have con := mem_alternatingGroup.1 gA
-      contrapose! con
-      rw [sign_of_cycleType, cycleType_of_card_le_mem_cycleType_add_two (by decide) ng]
-      decide
+      rw [sign_of_cycleType, cycleType_of_card_le_mem_cycleType_add_two (by decide) ng] at con
+      have : Odd 5 := by decide
+      simp [this] at con
     · -- If `n = 5`, then `g` is itself a 5-cycle, conjugate to `finRotate 5`.
       refine' (isConj_iff_cycleType_eq.2 _).normalClosure_eq_top_of normalClosure_finRotate_five
       rw [cycleType_of_card_le_mem_cycleType_add_two (by decide) ng, cycleType_finRotate]⟩
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -246,7 +246,7 @@ theorem normalClosure_finRotate_five : normalClosure ({⟨finRotate 5,
           normalClosure _ :=
         SetLike.mem_coe.1 (subset_normalClosure (Set.mem_singleton _))
       exact (mul_mem (Subgroup.normalClosure_normal.conj_mem _ h
-        --Porting note: added `: _`
+        -- Porting note: added `: _`
         ⟨Fin.cycleRange 2, Fin.isThreeCycle_cycleRange_two.mem_alternatingGroup⟩) (inv_mem h) : _))
 #align alternating_group.normal_closure_fin_rotate_five alternatingGroup.normalClosure_finRotate_five
 
chore(GroupTheory/Perm/Cycle/Basic): Split (#10907)

The file Mathlib.GroupTheory.Perm.Cycle.Basic was too big and this PR splits it in several components:

  • Mathlib.GroupTheory.Perm.Cycle.Basic contains everything related to a permutation being a cycle,
  • Mathlib.GroupTheory.Perm.Cycle.Factors is about the cycles of a permutation and the decomposition of a permutation into disjoint cycles
  • Mathlib.GroupTheory.Perm.Closure contains generation results for the permutation groups
  • Mathlib.GroupTheory.Perm.Finite contains general results specific to permutation of finite types

I moved some results to Mathlib.GroupTheory.Perm.Support

I also moved some results from Mathlib.GroupTheory.Perm.Sign to Mathlib.GroupTheory.Perm.Finite

Some imports could be reduced, and the shake linter required a few adjustments in some other.

Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>

Diff
@@ -40,6 +40,9 @@ alternating group permutation
 
 -/
 
+-- An example on how to determine the order of an element of a finite group.
+example : orderOf (-1 : ℤˣ) = 2 :=
+  orderOf_eq_prime (Int.units_sq _) (by decide)
 
 open Equiv Equiv.Perm Subgroup Fintype
 
chore: classify added instance porting notes (#10884)

Classifies by adding issue number (#10754) to porting notes claiming added instance.

Diff
@@ -51,7 +51,7 @@ def alternatingGroup : Subgroup (Perm α) :=
   sign.ker
 #align alternating_group alternatingGroup
 
--- Porting note: manually added instance
+-- Porting note (#10754): manually added instance
 instance fta : Fintype (alternatingGroup α) :=
   @Subtype.fintype _ _ sign.decidableMemKer _
 
style: reduce spacing variation in "porting note" comments (#10886)

In this pull request, I have systematically eliminated the leading whitespace preceding the colon (:) within all unlabelled or unclassified porting notes. This adjustment facilitates a more efficient review process for the remaining notes by ensuring no entries are overlooked due to formatting inconsistencies.

Diff
@@ -243,7 +243,7 @@ theorem normalClosure_finRotate_five : normalClosure ({⟨finRotate 5,
           normalClosure _ :=
         SetLike.mem_coe.1 (subset_normalClosure (Set.mem_singleton _))
       exact (mul_mem (Subgroup.normalClosure_normal.conj_mem _ h
-        --Porting note : added `: _`
+        --Porting note: added `: _`
         ⟨Fin.cycleRange 2, Fin.isThreeCycle_cycleRange_two.mem_alternatingGroup⟩) (inv_mem h) : _))
 #align alternating_group.normal_closure_fin_rotate_five alternatingGroup.normalClosure_finRotate_five
 
chore: remove stream-of-consciousness uses of have, replace and suffices (#10640)

No changes to tactic file, it's just boring fixes throughout the library.

This follows on from #6964.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -148,8 +148,8 @@ theorem closure_three_cycles_eq_alternating :
   closure_eq_of_le _ (fun σ hσ => mem_alternatingGroup.2 hσ.sign) fun σ hσ => by
     suffices hind :
       ∀ (n : ℕ) (l : List (Perm α)) (_ : ∀ g, g ∈ l → IsSwap g) (_ : l.length = 2 * n),
-        l.prod ∈ closure { σ : Perm α | IsThreeCycle σ }
-    · obtain ⟨l, rfl, hl⟩ := truncSwapFactors σ
+        l.prod ∈ closure { σ : Perm α | IsThreeCycle σ } by
+      obtain ⟨l, rfl, hl⟩ := truncSwapFactors σ
       obtain ⟨n, hn⟩ := (prod_list_swap_mem_alternatingGroup_iff_even_length hl).1 hσ
       rw [← two_mul] at hn
       exact hind n l hl hn
@@ -195,8 +195,8 @@ theorem isThreeCycle_sq_of_three_mem_cycleType_five {g : Perm (Fin 5)} (h : 3 
   obtain ⟨c, g', rfl, hd, _, h3⟩ := mem_cycleType_iff.1 h
   simp only [mul_assoc]
   rw [hd.commute.eq, ← mul_assoc g']
-  suffices hg' : orderOf g' ∣ 2
-  · rw [← pow_two, orderOf_dvd_iff_pow_eq_one.1 hg', one_mul]
+  suffices hg' : orderOf g' ∣ 2 by
+    rw [← pow_two, orderOf_dvd_iff_pow_eq_one.1 hg', one_mul]
     exact (card_support_eq_three_iff.1 h3).isThreeCycle_sq
   rw [← lcm_cycleType, Multiset.lcm_dvd]
   intro n hn
feat(Parity): add lemmas about x ^ n = ±y ^ n (#9881)
Diff
@@ -73,8 +73,7 @@ theorem mem_alternatingGroup {f : Perm α} : f ∈ alternatingGroup α ↔ sign
 
 theorem prod_list_swap_mem_alternatingGroup_iff_even_length {l : List (Perm α)}
     (hl : ∀ g ∈ l, IsSwap g) : l.prod ∈ alternatingGroup α ↔ Even l.length := by
-  rw [mem_alternatingGroup, sign_prod_list_swap hl, ← Units.val_eq_one, Units.val_pow_eq_pow_val,
-    Units.coe_neg_one, neg_one_pow_eq_one_iff_even]
+  rw [mem_alternatingGroup, sign_prod_list_swap hl, neg_one_pow_eq_one_iff_even]
   decide
 #align equiv.perm.prod_list_swap_mem_alternating_group_iff_even_length Equiv.Perm.prod_list_swap_mem_alternatingGroup_iff_even_length
 
@@ -284,8 +283,7 @@ theorem isConj_swap_mul_swap_of_cycleType_two {g : Perm (Fin 5)} (ha : g ∈ alt
     le_of_mul_le_mul_right (le_trans h (by simp only [card_fin]; ring_nf; decide)) (by simp)
   rw [mem_alternatingGroup, sign_of_cycleType, h2] at ha
   norm_num at ha
-  rw [pow_add, pow_mul, Int.units_pow_two, one_mul, Units.ext_iff, Units.val_one,
-    Units.val_pow_eq_pow_val, Units.coe_neg_one, neg_one_pow_eq_one_iff_even _] at ha
+  rw [pow_add, pow_mul, Int.units_pow_two, one_mul, neg_one_pow_eq_one_iff_even] at ha
   swap; · decide
   rw [isConj_iff_cycleType_eq, h2]
   interval_cases h_1 : Multiset.card g.cycleType
chore: bump to v4.3.0-rc2 (#8366)

PR contents

This is the supremum of

along with some minor fixes from failures on nightly-testing as Mathlib master is merged into it.

Note that some PRs for changes that are already compatible with the current toolchain and will be necessary have already been split out: #8380.

I am hopeful that in future we will be able to progressively merge adaptation PRs into a bump/v4.X.0 branch, so we never end up with a "big merge" like this. However one of these adaptation PRs (#8056) predates my new scheme for combined CI, and it wasn't possible to keep that PR viable in the meantime.

Lean PRs involved in this bump

In particular this includes adjustments for the Lean PRs

leanprover/lean4#2778

We can get rid of all the

local macro_rules | `($x ^ $y) => `(HPow.hPow $x $y) -- Porting note: See issue [lean4#2220](https://github.com/leanprover/lean4/pull/2220)

macros across Mathlib (and in any projects that want to write natural number powers of reals).

leanprover/lean4#2722

Changes the default behaviour of simp to (config := {decide := false}). This makes simp (and consequentially norm_num) less powerful, but also more consistent, and less likely to blow up in long failures. This requires a variety of changes: changing some previously by simp or norm_num to decide or rfl, or adding (config := {decide := true}).

leanprover/lean4#2783

This changed the behaviour of simp so that simp [f] will only unfold "fully applied" occurrences of f. The old behaviour can be recovered with simp (config := { unfoldPartialApp := true }). We may in future add a syntax for this, e.g. simp [!f]; please provide feedback! In the meantime, we have made the following changes:

  • switching to using explicit lemmas that have the intended level of application
  • (config := { unfoldPartialApp := true }) in some places, to recover the old behaviour
  • Using @[eqns] to manually adjust the equation lemmas for a particular definition, recovering the old behaviour just for that definition. See #8371, where we do this for Function.comp and Function.flip.

This change in Lean may require further changes down the line (e.g. adding the !f syntax, and/or upstreaming the special treatment for Function.comp and Function.flip, and/or removing this special treatment). Please keep an open and skeptical mind about these changes!

Co-authored-by: leanprover-community-mathlib4-bot <leanprover-community-mathlib4-bot@users.noreply.github.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Mauricio Collares <mauricio@collares.org>

Diff
@@ -262,6 +262,7 @@ theorem normalClosure_swap_mul_swap_five :
       ⟨finRotate 5, finRotate_bit1_mem_alternatingGroup (n := 2)⟩ := by
     rw [Subtype.ext_iff]
     simp only [Fin.val_mk, Subgroup.coe_mul, Subgroup.coe_inv, Fin.val_mk]
+    decide
   rw [eq_top_iff, ← normalClosure_finRotate_five]
   refine' normalClosure_le_normal _
   rw [Set.singleton_subset_iff, SetLike.mem_coe, ← h5]
@@ -280,7 +281,7 @@ theorem isConj_swap_mul_swap_of_cycleType_two {g : Perm (Fin 5)} (ha : g ∈ alt
   rw [← Multiset.eq_replicate_card] at h2
   rw [← sum_cycleType, h2, Multiset.sum_replicate, smul_eq_mul] at h
   have h : Multiset.card g.cycleType ≤ 3 :=
-    le_of_mul_le_mul_right (le_trans h (by simp only [card_fin])) (by simp)
+    le_of_mul_le_mul_right (le_trans h (by simp only [card_fin]; ring_nf; decide)) (by simp)
   rw [mem_alternatingGroup, sign_of_cycleType, h2] at ha
   norm_num at ha
   rw [pow_add, pow_mul, Int.units_pow_two, one_mul, Units.ext_iff, Units.val_one,
@@ -299,7 +300,7 @@ theorem isConj_swap_mul_swap_of_cycleType_two {g : Perm (Fin 5)} (ha : g ∈ alt
     · rw [disjoint_iff_disjoint_support, support_swap h04, support_swap h13]
       decide
   · contrapose! ha
-    simp [h_1]
+    decide
 #align alternating_group.is_conj_swap_mul_swap_of_cycle_type_two alternatingGroup.isConj_swap_mul_swap_of_cycleType_two
 
 /-- Shows that $A_5$ is simple by taking an arbitrary non-identity element and showing by casework
perf(FunLike.Basic): beta reduce CoeFun.coe (#7905)

This eliminates (fun a ↦ β) α in the type when applying a FunLike.

Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -280,7 +280,7 @@ theorem isConj_swap_mul_swap_of_cycleType_two {g : Perm (Fin 5)} (ha : g ∈ alt
   rw [← Multiset.eq_replicate_card] at h2
   rw [← sum_cycleType, h2, Multiset.sum_replicate, smul_eq_mul] at h
   have h : Multiset.card g.cycleType ≤ 3 :=
-    le_of_mul_le_mul_right (le_trans h (by simp only [card_fin]; ring_nf)) (by simp)
+    le_of_mul_le_mul_right (le_trans h (by simp only [card_fin])) (by simp)
   rw [mem_alternatingGroup, sign_of_cycleType, h2] at ha
   norm_num at ha
   rw [pow_add, pow_mul, Int.units_pow_two, one_mul, Units.ext_iff, Units.val_one,
@@ -347,7 +347,6 @@ instance isSimpleGroup_five : IsSimpleGroup (alternatingGroup (Fin 5)) :=
       have con := mem_alternatingGroup.1 gA
       contrapose! con
       rw [sign_of_cycleType, cycleType_of_card_le_mem_cycleType_add_two (by decide) ng]
-      dsimp only
       decide
     · -- If `n = 5`, then `g` is itself a 5-cycle, conjugate to `finRotate 5`.
       refine' (isConj_iff_cycleType_eq.2 _).normalClosure_eq_top_of normalClosure_finRotate_five
style: a linter for colons (#6761)

A linter that throws on seeing a colon at the start of a line, according to the style guideline that says these operators should go before linebreaks.

Diff
@@ -244,9 +244,8 @@ theorem normalClosure_finRotate_five : normalClosure ({⟨finRotate 5,
           normalClosure _ :=
         SetLike.mem_coe.1 (subset_normalClosure (Set.mem_singleton _))
       exact (mul_mem (Subgroup.normalClosure_normal.conj_mem _ h
-          ⟨Fin.cycleRange 2, Fin.isThreeCycle_cycleRange_two.mem_alternatingGroup⟩) (inv_mem h)
-      --Porting note : added `: _`
-          : _))
+        --Porting note : added `: _`
+        ⟨Fin.cycleRange 2, Fin.isThreeCycle_cycleRange_two.mem_alternatingGroup⟩) (inv_mem h) : _))
 #align alternating_group.normal_closure_fin_rotate_five alternatingGroup.normalClosure_finRotate_five
 
 /-- The normal closure of $(04)(13)$ within $A_5$ is the whole group. This will be
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
@@ -43,7 +43,7 @@ alternating group permutation
 
 open Equiv Equiv.Perm Subgroup Fintype
 
-variable (α : Type _) [Fintype α] [DecidableEq α]
+variable (α : Type*) [Fintype α] [DecidableEq α]
 
 /-- The alternating group on a finite type, realized as a subgroup of `Equiv.Perm`.
   For $A_n$, use `alternatingGroup (Fin 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,17 +2,14 @@
 Copyright (c) 2021 Aaron Anderson. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Aaron Anderson
-
-! This file was ported from Lean 3 source module group_theory.specific_groups.alternating
-! leanprover-community/mathlib commit 0f6670b8af2dff699de1c0b4b49039b31bc13c46
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Group.ConjFinite
 import Mathlib.GroupTheory.Perm.Fin
 import Mathlib.GroupTheory.Subgroup.Simple
 import Mathlib.Tactic.IntervalCases
 
+#align_import group_theory.specific_groups.alternating from "leanprover-community/mathlib"@"0f6670b8af2dff699de1c0b4b49039b31bc13c46"
+
 /-!
 # Alternating Groups
 
chore: bye-bye, solo bys! (#3825)

This PR puts, with one exception, every single remaining by that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh. The exception is when the by begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.

Essentially this is s/\n *by$/ by/g, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated bys".

Diff
@@ -262,8 +262,8 @@ theorem normalClosure_swap_mul_swap_five :
       ⊤ := by
   let g1 := (⟨swap 0 2 * swap 0 1, mem_alternatingGroup.2 (by decide)⟩ : alternatingGroup (Fin 5))
   let g2 := (⟨swap 0 4 * swap 1 3, mem_alternatingGroup.2 (by decide)⟩ : alternatingGroup (Fin 5))
-  have h5 : g1 * g2 * g1⁻¹ * g2⁻¹ = ⟨finRotate 5, finRotate_bit1_mem_alternatingGroup (n := 2)⟩ :=
-    by
+  have h5 : g1 * g2 * g1⁻¹ * g2⁻¹ =
+      ⟨finRotate 5, finRotate_bit1_mem_alternatingGroup (n := 2)⟩ := by
     rw [Subtype.ext_iff]
     simp only [Fin.val_mk, Subgroup.coe_mul, Subgroup.coe_inv, Fin.val_mk]
   rw [eq_top_iff, ← normalClosure_finRotate_five]
feat: port GroupTheory.SpecificGroups.Alternating (#3371)

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: ChrisHughes24 <chrishughes24@gmail.com>

Dependencies 8 + 508

509 files ported (98.5%)
209023 lines ported (98.5%)
Show graph

The unported dependencies are