case h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
x : LocalizedModule S M
⊢ ↑(lift S g h) x = ↑l x
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
⊢ lift S g h = l
ext x
case h.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ ↑(lift S g h) (mk m s) = ↑l (mk m s)
case h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
x : LocalizedModule S M
⊢ ↑(lift S g h) x = ↑l x
induction' x using LocalizedModule.induction_on with m s
case h.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ ↑↑(IsUnit.unit (_ : IsUnit (↑(algebraMap R (Module.End R M'')) ↑s)))⁻¹ (↑g m) = ↑l (mk m s)
case h.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ ↑(lift S g h) (mk m s) = ↑l (mk m s)
rw [LocalizedModule.lift_mk]
case h.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ ↑l (mk m 1) = ↑l (mk (↑s • m) s)
case h.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ ↑↑(IsUnit.unit (_ : IsUnit (↑(algebraMap R (Module.End R M'')) ↑s)))⁻¹ (↑g m) = ↑l (mk m s)
erw [Module.End_algebraMap_isUnit_inv_apply_eq_iff, ← hl, LinearMap.coe_comp,
  Function.comp_apply, LocalizedModule.mkLinearMap_apply, ← l.map_smul, LocalizedModule.smul'_mk]
case h.h.h.e_6.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ mk m 1 = mk (↑s • m) s
case h.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ ↑l (mk m 1) = ↑l (mk (↑s • m) s)
congr 1
case h.h.h.e_6.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ ∃ u, u • s • m = u • 1 • ↑s • m
case h.h.h.e_6.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ mk m 1 = mk (↑s • m) s
rw [LocalizedModule.mk_eq]
case h.h.h.e_6.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ 1 • s • m = 1 • 1 • ↑s • m
case h.h.h.e_6.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ ∃ u, u • s • m = u • 1 • ↑s • m
refine' ⟨1, _⟩
case h.h.h.e_6.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ s • m = ↑s • m
case h.h.h.e_6.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ 1 • s • m = 1 • 1 • ↑s • m
simp only [one_smul]
no goals
case h.h.h.e_6.h
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
M : Type u_2
M' : Type ?u.570900
M'' : Type u_3
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
f : M →ₗ[R] M'
g✝ g : M →ₗ[R] M''
h : ∀ (x : { x // x ∈ S }), IsUnit (↑(algebraMap R (Module.End R M'')) ↑x)
l : LocalizedModule S M →ₗ[R] M''
hl : LinearMap.comp l (mkLinearMap S M) = g
m : M
s : { x // x ∈ S }
⊢ s • m = ↑s • m
rfl