Zulip Chat Archive
Stream: Is there code for X?
Topic: has_mem for subgroup of units
Adam Topaz (Nov 23 2020 at 15:39):
I think I asked about this before, but it came up again. Do we have something like this instance?
import algebra
import group_theory.subgroup
instance has_mem_unit_subgroup {A : Type*} [monoid A] : has_mem A (subgroup (units A)) :=
⟨ λ x H, x ∈ (coe : units A → A) '' H ⟩
If not, should I add it somewhere?
Adam Topaz (Nov 23 2020 at 15:47):
Hmmm... also, why does this fail?
import algebra
import group_theory.subgroup
instance has_mem_unit_subgroup' {A : Type*} [monoid A] : has_mem (units A) (subgroup (units A)) := by apply_instance -- FAILS
Kevin Buzzard (Nov 23 2020 at 16:07):
Works for me! Dirty mathlib?
Bhavik Mehta (Nov 23 2020 at 16:14):
It might fail in the presence of has_mem_unit_subgroup
though because of the out_param
in has_mem
Adam Topaz (Nov 23 2020 at 16:20):
Yeah, it's the out_param
that's causing the problem. So there is no way to have has_mem A B
and has_mem A' B
at the same time?!
Bhavik Mehta (Nov 23 2020 at 16:21):
Yeah, as far as I know
Adam Topaz (Nov 23 2020 at 16:22):
Do you have any suggestions for making things like subgroup (units A)
not completely awful to work with?
Bhavik Mehta (Nov 23 2020 at 16:30):
I've never tried to work with it, so I don't have anything helpful to say, sorry!
Last updated: Dec 20 2023 at 11:08 UTC