have hinv_mem : ∀ a : α, a ∈ H → G.inv a ∈ H := by
  intros a ha
  rw [Membership.mem, instMembershipSet] at ha
  simp at ha
  rw [Set.isMember, trivial_subgroup] at ha
  simp at ha
  rw [ha]
  apply inv_one_eq_one
α : Type u_1
G : group α
H : Set α := trivial_subgroup G
hH : H = trivial_subgroup G
hmul_mem : ∀ (a b : α), a ∈ H → b ∈ H → a * b ∈ H
hone_mem : has_one.one ∈ H
⊢ subgroup G H
α : Type u_1
G : group α
H : Set α := trivial_subgroup G
hH : H = trivial_subgroup G
hmul_mem : ∀ (a b : α), a ∈ H → b ∈ H → a * b ∈ H
hone_mem : has_one.one ∈ H
hinv_mem : ∀ (a : α), a ∈ H → group.inv a ∈ H
⊢ subgroup G H