Theorem: LieSubalgebra.coe_to_submodule_mk
File: Mathlib/Algebra/Lie/Subalgebra.lean

tactic: cases p
state_before: R : Type u
L : Type v
inst✝² : CommRing R
inst✝¹ : LieRing L
inst✝ : LieAlgebra R L
L' : LieSubalgebra R L
p : Submodule R L
h :
  ∀ {x y : L},
    x ∈
        { toAddSubmonoid := p.toAddSubmonoid,
                smul_mem' :=
                  (_ :
                    ∀ (c : R) {x : L}, x ∈ p.carrier → c • x ∈ p.carrier) }.toAddSubmonoid.toAddSubsemigroup.carrier →
      y ∈
          { toAddSubmonoid := p.toAddSubmonoid,
                  smul_mem' :=
                    (_ :
                      ∀ (c : R) {x : L}, x ∈ p.carrier → c • x ∈ p.carrier) }.toAddSubmonoid.toAddSubsemigroup.carrier →
        ⁅x, y⁆ ∈
          { toAddSubmonoid := p.toAddSubmonoid,
                  smul_mem' :=
                    (_ :
                      ∀ (c : R) {x : L}, x ∈ p.carrier → c • x ∈ p.carrier) }.toAddSubmonoid.toAddSubsemigroup.carrier
⊢ {
        toSubmodule :=
          { toAddSubmonoid := p.toAddSubmonoid,
            smul_mem' := (_ : ∀ (c : R) {x : L}, x ∈ p.carrier → c • x ∈ p.carrier) },
        lie_mem' := h }.toSubmodule =
    p

tactic: rfl
state_before: case mk
R : Type u
L : Type v
inst✝² : CommRing R
inst✝¹ : LieRing L
inst✝ : LieAlgebra R L
L' : LieSubalgebra R L
toAddSubmonoid✝ : AddSubmonoid L
smul_mem'✝ : ∀ (c : R) {x : L}, x ∈ toAddSubmonoid✝.carrier → c • x ∈ toAddSubmonoid✝.carrier
h :
  ∀ {x y : L},
    x ∈
        { toAddSubmonoid := { toAddSubmonoid := toAddSubmonoid✝, smul_mem' := smul_mem'✝ }.toAddSubmonoid,
                smul_mem' :=
                  (_ :
                    ∀ (c : R) {x : L},
                      x ∈
                          { toAddSubmonoid := toAddSubmonoid✝,
                                  smul_mem' := smul_mem'✝ }.toAddSubmonoid.toAddSubsemigroup.carrier →
                        c • x ∈
                          { toAddSubmonoid := toAddSubmonoid✝,
                                  smul_mem' :=
                                    smul_mem'✝ }.toAddSubmonoid.toAddSubsemigroup.carrier) }.toAddSubmonoid.toAddSubsemigroup.carrier →
      y ∈
          { toAddSubmonoid := { toAddSubmonoid := toAddSubmonoid✝, smul_mem' := smul_mem'✝ }.toAddSubmonoid,
                  smul_mem' :=
                    (_ :
                      ∀ (c : R) {x : L},
                        x ∈
                            { toAddSubmonoid := toAddSubmonoid✝,
                                    smul_mem' := smul_mem'✝ }.toAddSubmonoid.toAddSubsemigroup.carrier →
                          c • x ∈
                            { toAddSubmonoid := toAddSubmonoid✝,
                                    smul_mem' :=
                                      smul_mem'✝ }.toAddSubmonoid.toAddSubsemigroup.carrier) }.toAddSubmonoid.toAddSubsemigroup.carrier →
        ⁅x, y⁆ ∈
          { toAddSubmonoid := { toAddSubmonoid := toAddSubmonoid✝, smul_mem' := smul_mem'✝ }.toAddSubmonoid,
                  smul_mem' :=
                    (_ :
                      ∀ (c : R) {x : L},
                        x ∈
                            { toAddSubmonoid := toAddSubmonoid✝,
                                    smul_mem' := smul_mem'✝ }.toAddSubmonoid.toAddSubsemigroup.carrier →
                          c • x ∈
                            { toAddSubmonoid := toAddSubmonoid✝,
                                    smul_mem' :=
                                      smul_mem'✝ }.toAddSubmonoid.toAddSubsemigroup.carrier) }.toAddSubmonoid.toAddSubsemigroup.carrier
⊢ {
        toSubmodule :=
          { toAddSubmonoid := { toAddSubmonoid := toAddSubmonoid✝, smul_mem' := smul_mem'✝ }.toAddSubmonoid,
            smul_mem' :=
              (_ :
                ∀ (c : R) {x : L},
                  x ∈
                      { toAddSubmonoid := toAddSubmonoid✝,
                              smul_mem' := smul_mem'✝ }.toAddSubmonoid.toAddSubsemigroup.carrier →
                    c • x ∈
                      { toAddSubmonoid := toAddSubmonoid✝,
                              smul_mem' := smul_mem'✝ }.toAddSubmonoid.toAddSubsemigroup.carrier) },
        lie_mem' := h }.toSubmodule =
    { toAddSubmonoid := toAddSubmonoid✝, smul_mem' := smul_mem'✝ }