/-- Copy of a `LieSubmodule` with a new `carrier` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (s : Set M) (hs : s = ↑N) : LieSubmodule R L M where
  carrier := s
  -- Porting note: all the proofs below were in term mode
  zero_mem' := by exact hs.symm ▸ N.zero_mem'
  add_mem' x y := by rw [hs] at x y ⊢; exact N.add_mem' x y
  smul_mem' := by exact hs.symm ▸ N.smul_mem'
  lie_mem := by 

Proof state:
R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
N N' : LieSubmodule R L M
s : Set M
hs : s = ↑N
⊢ ∀ {x : L} {m : M},
    m ∈
        {
                toAddSubmonoid :=
                  { toAddSubsemigroup := { carrier := s, add_mem' := (_ : ∀ {a b : M}, a ∈ s → b ∈ s → a + b ∈ s) },
                    zero_mem' :=
                      (_ : 0 ∈ { carrier := s, add_mem' := (_ : ∀ {a b : M}, a ∈ s → b ∈ s → a + b ∈ s) }.carrier) },
                smul_mem' :=
                  (_ :
                    ∀ (c : R) {x : M},
                      x ∈
                          {
                                toAddSubsemigroup :=
                                  { carrier := s, add_mem' := (_ : ∀ {a b : M}, a ∈ s → b ∈ s → a + b ∈ s) },
                                zero_mem' :=
                                  (_ :
                                    0 ∈
                                      { carrier := s,
                                          add_mem' :=
                                            (_ :
                                              ∀ {a b : M},
                                                a ∈ s → b ∈ s → a + b ∈ s) }.carrier) }.toAddSubsemigroup.carrier →
                        c • x ∈
                          {
                                toAddSubsemigroup :=
                                  { carrier := s, add_mem' := (_ : ∀ {a b : M}, a ∈ s → b ∈ s → a + b ∈ s) },
                                zero_mem' :=
                                  (_ :
                                    0 ∈
                                      { carrier := s,
                                          add_mem' :=
                                            (_ :
                                              ∀ {a b : M},
                                                a ∈ s →
                                                  b ∈ s →
                                                    a + b ∈
                                                      s) }.carrier) }.toAddSubsemigroup.carrier) }.toAddSubmonoid.toAddSubsemigroup.carrier →
      ⁅x, m⁆ ∈
        {
                toAddSubmonoid :=
                  { toAddSubsemigroup := { carrier := s, add_mem' := (_ : ∀ {a b : M}, a ∈ s → b ∈ s → a + b ∈ s) },
                    zero_mem' :=
                      (_ : 0 ∈ { carrier := s, add_mem' := (_ : ∀ {a b : M}, a ∈ s → b ∈ s → a + b ∈ s) }.carrier) },
                smul_mem' :=
                  (_ :
                    ∀ (c : R) {x : M},
                      x ∈
                          {
                                toAddSubsemigroup :=
                                  { carrier := s, add_mem' := (_ : ∀ {a b : M}, a ∈ s → b ∈ s → a + b ∈ s) },
                                zero_mem' :=
                                  (_ :
                                    0 ∈
                                      { carrier := s,
                                          add_mem' :=
                                            (_ :
                                              ∀ {a b : M},
                                                a ∈ s → b ∈ s → a + b ∈ s) }.carrier) }.toAddSubsemigroup.carrier →
                        c • x ∈
                          {
                                toAddSubsemigroup :=
                                  { carrier := s, add_mem' := (_ : ∀ {a b : M}, a ∈ s → b ∈ s → a + b ∈ s) },
                                zero_mem' :=
                                  (_ :
                                    0 ∈
                                      { carrier := s,
                                          add_mem' :=
                                            (_ :
                                              ∀ {a b : M},
                                                a ∈ s →
                                                  b ∈ s →
                                                    a + b ∈
                                                      s) }.carrier) }.toAddSubsemigroup.carrier) }.toAddSubmonoid.toAddSubsemigroup.carrier

Next tactic:
exact hs.symm ▸ N.lie_mem