mathlib-initiative/mathlib-tactics huggingface dataset:
Module: Mathlib.LinearAlgebra.Ray

Goal state before:
pp: case inl
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
y z : M
hyz : SameRay R y z
hxy : SameRay R 0 y
hy : y = 0 → 0 = 0 ∨ z = 0
⊢ SameRay R 0 z

pp: case inr
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y z : M
hxy : SameRay R x y
hyz : SameRay R y z
hy : y = 0 → x = 0 ∨ z = 0
hx : x ≠ 0
⊢ SameRay R x z

Tactic:
;

Goal state after:
case inl
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
y z : M
hyz : SameRay R y z
hxy : SameRay R 0 y
hy : y = 0 → 0 = 0 ∨ z = 0
⊢ SameRay R 0 z

case inr
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y z : M
hxy : SameRay R x y
hyz : SameRay R y z
hy : y = 0 → x = 0 ∨ z = 0
hx : x ≠ 0
⊢ SameRay R x z
Module: Mathlib.LinearAlgebra.Ray

Goal state before:
pp: case inr.inl
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y : M
hxy : SameRay R x y
hx : x ≠ 0
hyz : SameRay R y 0
hy : y = 0 → x = 0 ∨ 0 = 0
⊢ SameRay R x 0

pp: case inr.inr
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y z : M
hxy : SameRay R x y
hyz : SameRay R y z
hy : y = 0 → x = 0 ∨ z = 0
hx : x ≠ 0
hz : z ≠ 0
⊢ SameRay R x z

Tactic:
;

Goal state after:
case inr.inl
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y : M
hxy : SameRay R x y
hx : x ≠ 0
hyz : SameRay R y 0
hy : y = 0 → x = 0 ∨ 0 = 0
⊢ SameRay R x 0

case inr.inr
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y z : M
hxy : SameRay R x y
hyz : SameRay R y z
hy : y = 0 → x = 0 ∨ z = 0
hx : x ≠ 0
hz : z ≠ 0
⊢ SameRay R x z
Module: Mathlib.LinearAlgebra.Ray

Goal state before:
pp: R : Type u_1
inst✝¹¹ : CommSemiring R
inst✝¹⁰ : PartialOrder R
inst✝⁹ : IsStrictOrderedRing R
M : Type u_2
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
S : Type u_5
inst✝⁶ : CommSemiring S
inst✝⁵ : PartialOrder S
inst✝⁴ : Algebra S R
inst✝³ : Module S M
inst✝² : SMulPosMono S R
inst✝¹ : IsScalarTower S R M
a : S
v : M
h✝ : 0 ≤ a
h : 0 < (algebraMap S R) a
inst✝ : Nontrivial R
⊢ 0 < 1

Tactic:
;

Goal state after:
R : Type u_1
inst✝¹¹ : CommSemiring R
inst✝¹⁰ : PartialOrder R
inst✝⁹ : IsStrictOrderedRing R
M : Type u_2
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
S : Type u_5
inst✝⁶ : CommSemiring S
inst✝⁵ : PartialOrder S
inst✝⁴ : Algebra S R
inst✝³ : Module S M
inst✝² : SMulPosMono S R
inst✝¹ : IsScalarTower S R M
a : S
v : M
h✝ : 0 ≤ a
h : 0 < (algebraMap S R) a
inst✝ : Nontrivial R
⊢ 0 < 1
Module: Mathlib.LinearAlgebra.Ray

Goal state before:
pp: case inl
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
y z : M
hy : SameRay R y z
hx : SameRay R 0 z
⊢ SameRay R (0 + y) z

pp: case inr
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y z : M
hx : SameRay R x z
hy : SameRay R y z
hx₀ : x ≠ 0
⊢ SameRay R (x + y) z

Tactic:
;

Goal state after:
case inl
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
y z : M
hy : SameRay R y z
hx : SameRay R 0 z
⊢ SameRay R (0 + y) z

case inr
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y z : M
hx : SameRay R x z
hy : SameRay R y z
hx₀ : x ≠ 0
⊢ SameRay R (x + y) z
Module: Mathlib.LinearAlgebra.Ray

Goal state before:
pp: case inr.inl
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x z : M
hx : SameRay R x z
hx₀ : x ≠ 0
hy : SameRay R 0 z
⊢ SameRay R (x + 0) z

pp: case inr.inr
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y z : M
hx : SameRay R x z
hy : SameRay R y z
hx₀ : x ≠ 0
hy₀ : y ≠ 0
⊢ SameRay R (x + y) z

Tactic:
;

Goal state after:
case inr.inl
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x z : M
hx : SameRay R x z
hx₀ : x ≠ 0
hy : SameRay R 0 z
⊢ SameRay R (x + 0) z

case inr.inr
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y z : M
hx : SameRay R x z
hy : SameRay R y z
hx₀ : x ≠ 0
hy₀ : y ≠ 0
⊢ SameRay R (x + y) z
Module: Mathlib.LinearAlgebra.Ray

Goal state before:
pp: case inr.inr.inl
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y : M
hx₀ : x ≠ 0
hy₀ : y ≠ 0
hx : SameRay R x 0
hy : SameRay R y 0
⊢ SameRay R (x + y) 0

pp: case inr.inr.inr
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y z : M
hx : SameRay R x z
hy : SameRay R y z
hx₀ : x ≠ 0
hy₀ : y ≠ 0
hz₀ : z ≠ 0
⊢ SameRay R (x + y) z

Tactic:
;

Goal state after:
case inr.inr.inl
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y : M
hx₀ : x ≠ 0
hy₀ : y ≠ 0
hx : SameRay R x 0
hy : SameRay R y 0
⊢ SameRay R (x + y) 0

case inr.inr.inr
R : Type u_1
inst✝⁴ : CommSemiring R
inst✝³ : PartialOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
x y z : M
hx : SameRay R x z
hy : SameRay R y z
hx₀ : x ≠ 0
hy₀ : y ≠ 0
hz₀ : z ≠ 0
⊢ SameRay R (x + y) z
Module: Mathlib.LinearAlgebra.AffineSpace.Midpoint

Goal state before:
pp: R : Type u_1
V : Type u_2
inst✝³ : Ring R
inst✝² : Invertible 2
inst✝¹ : AddCommGroup V
inst✝ : Module R V
x y : V
⊢ midpoint R x x +ᵥ midpoint R (-y) y = x

Tactic:
;

Goal state after:
R : Type u_1
V : Type u_2
inst✝³ : Ring R
inst✝² : Invertible 2
inst✝¹ : AddCommGroup V
inst✝ : Module R V
x y : V
⊢ midpoint R x x +ᵥ midpoint R (-y) y = x
Module: Mathlib.LinearAlgebra.AffineSpace.Midpoint

Goal state before:
pp: R : Type u_1
V : Type u_2
inst✝³ : Ring R
inst✝² : Invertible 2
inst✝¹ : AddCommGroup V
inst✝ : Module R V
x y : V
⊢ midpoint R (x - y) (x + y) = x

Tactic:
;

Goal state after:
R : Type u_1
V : Type u_2
inst✝³ : Ring R
inst✝² : Invertible 2
inst✝¹ : AddCommGroup V
inst✝ : Module R V
x y : V
⊢ midpoint R (x - y) (x + y) = x
Module: Mathlib.LinearAlgebra.Ray

Goal state before:
pp: case inl
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : LinearOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
v : M
c₁ c₂ : R
h : 0 ≤ c₁ * c₂
hc₁ : c₁ = 0
⊢ SameRay R 0 (c₂ • v)

Tactic:
;

Goal state after:
case inl
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : LinearOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
v : M
c₁ c₂ : R
h : 0 ≤ c₁ * c₂
hc₁ : c₁ = 0
⊢ SameRay R 0 (c₂ • v)
Module: Mathlib.LinearAlgebra.Ray

Goal state before:
pp: case inr.inl
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : LinearOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
v : M
c₁ c₂ : R
h : 0 ≤ c₁ * c₂
hc₁ : c₁ ≠ 0
hc₂ : c₂ = 0
⊢ SameRay R (c₁ • v) 0

Tactic:
;

Goal state after:
case inr.inl
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : LinearOrder R
inst✝² : IsStrictOrderedRing R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
v : M
c₁ c₂ : R
h : 0 ≤ c₁ * c₂
hc₁ : c₁ ≠ 0
hc₂ : c₂ = 0
⊢ SameRay R (c₁ • v) 0
Module: Mathlib.LinearAlgebra.Ray

Goal state before:
pp: case pos
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : x = 0
⊢ SameRay R x y ∨ SameRay R x (-y) ↔ ¬LinearIndependent R ![x, y]

pp: case neg
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : ¬x = 0
⊢ SameRay R x y ∨ SameRay R x (-y) ↔ ¬LinearIndependent R ![x, y]

Tactic:
;

Goal state after:
case pos
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : x = 0
⊢ SameRay R x y ∨ SameRay R x (-y) ↔ ¬LinearIndependent R ![x, y]

case neg
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : ¬x = 0
⊢ SameRay R x y ∨ SameRay R x (-y) ↔ ¬LinearIndependent R ![x, y]
Module: Mathlib.LinearAlgebra.Ray

Goal state before:
pp: case pos
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : ¬x = 0
hy : y = 0
⊢ SameRay R x y ∨ SameRay R x (-y) ↔ ¬LinearIndependent R ![x, y]

pp: case neg
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : ¬x = 0
hy : ¬y = 0
⊢ SameRay R x y ∨ SameRay R x (-y) ↔ ¬LinearIndependent R ![x, y]

Tactic:
;

Goal state after:
case pos
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : ¬x = 0
hy : y = 0
⊢ SameRay R x y ∨ SameRay R x (-y) ↔ ¬LinearIndependent R ![x, y]

case neg
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : ¬x = 0
hy : ¬y = 0
⊢ SameRay R x y ∨ SameRay R x (-y) ↔ ¬LinearIndependent R ![x, y]
Module: Mathlib.LinearAlgebra.AffineSpace.AffineMap

Goal state before:
pp: k : Type u_1
V1 : Type u_2
P1 : Type u_3
V2 : Type u_4
P2 : Type u_5
inst✝⁶ : Ring k
inst✝⁵ : AddCommGroup V1
inst✝⁴ : Module k V1
inst✝³ : AffineSpace V1 P1
inst✝² : AddCommGroup V2
inst✝¹ : Module k V2
inst✝ : AffineSpace V2 P2
f g : P1 →ᵃ[k] P2
h : f = g
inhabited_h : Inhabited P1
⊢ P1

Tactic:
;

Goal state after:
k : Type u_1
V1 : Type u_2
P1 : Type u_3
V2 : Type u_4
P2 : Type u_5
inst✝⁶ : Ring k
inst✝⁵ : AddCommGroup V1
inst✝⁴ : Module k V1
inst✝³ : AffineSpace V1 P1
inst✝² : AddCommGroup V2
inst✝¹ : Module k V2
inst✝ : AffineSpace V2 P2
f g : P1 →ᵃ[k] P2
h : f = g
inhabited_h : Inhabited P1
⊢ P1
Module: Mathlib.LinearAlgebra.AffineSpace.AffineMap

Goal state before:
pp: k : Type u_1
V1 : Type u_2
inst✝² : Ring k
inst✝¹ : AddCommGroup V1
inst✝ : Module k V1
p₀ p₁ : V1
c : k
⊢ c • p₁ - c • p₀ + p₀ = p₀ - c • p₀ + c • p₁

Tactic:
;

Goal state after:
k : Type u_1
V1 : Type u_2
inst✝² : Ring k
inst✝¹ : AddCommGroup V1
inst✝ : Module k V1
p₀ p₁ : V1
c : k
⊢ c • p₁ - c • p₀ + p₀ = p₀ - c • p₀ + c • p₁
Module: Mathlib.LinearAlgebra.Ray

Goal state before:
pp: case pos
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : x = 0
⊢ SameRay R x y ∨ x ≠ 0 ∧ y ≠ 0 ∧ SameRay R x (-y) ↔ SameRay R x y ∨ SameRay R x (-y)

pp: case neg
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : ¬x = 0
⊢ SameRay R x y ∨ x ≠ 0 ∧ y ≠ 0 ∧ SameRay R x (-y) ↔ SameRay R x y ∨ SameRay R x (-y)

Tactic:
;

Goal state after:
case pos
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : x = 0
⊢ SameRay R x y ∨ x ≠ 0 ∧ y ≠ 0 ∧ SameRay R x (-y) ↔ SameRay R x y ∨ SameRay R x (-y)

case neg
R : Type u_1
inst✝⁵ : CommRing R
inst✝⁴ : LinearOrder R
inst✝³ : IsStrictOrderedRing R
M : Type u_2
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : IsTorsionFree R M
x y : M
hx : ¬x = 0
⊢ SameRay R x y ∨ x ≠ 0 ∧ y ≠ 0 ∧ SameRay R x (-y) ↔ SameRay R x y ∨ SameRay R x (-y)
Module: Mathlib.LinearAlgebra.AffineSpace.AffineEquiv

Goal state before:
pp: k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹² : Ring k
inst✝¹¹ : AddCommGroup V₁
inst✝¹⁰ : AddCommGroup V₂
inst✝⁹ : AddCommGroup V₃
inst✝⁸ : AddCommGroup V₄
inst✝⁷ : Module k V₁
inst✝⁶ : Module k V₂
inst✝⁵ : Module k V₃
inst✝⁴ : Module k V₄
inst✝³ : AffineSpace V₁ P₁
inst✝² : AffineSpace V₂ P₂
inst✝¹ : AffineSpace V₃ P₃
inst✝ : AffineSpace V₄ P₄
e₁ : P₁ ≃ᵃ[k] P₂
e₂ : P₃ ≃ᵃ[k] P₄
x✝ : P₁ →ᵃ[k] P₃
p✝ : P₁
⊢ ((fun f ↦ (↑e₂.symm).comp (f.comp ↑e₁)) ((fun f ↦ (↑e₂).comp (f.comp ↑e₁.symm)) x✝)) p✝ = x✝ p✝

Tactic:
;

Goal state after:
k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹² : Ring k
inst✝¹¹ : AddCommGroup V₁
inst✝¹⁰ : AddCommGroup V₂
inst✝⁹ : AddCommGroup V₃
inst✝⁸ : AddCommGroup V₄
inst✝⁷ : Module k V₁
inst✝⁶ : Module k V₂
inst✝⁵ : Module k V₃
inst✝⁴ : Module k V₄
inst✝³ : AffineSpace V₁ P₁
inst✝² : AffineSpace V₂ P₂
inst✝¹ : AffineSpace V₃ P₃
inst✝ : AffineSpace V₄ P₄
e₁ : P₁ ≃ᵃ[k] P₂
e₂ : P₃ ≃ᵃ[k] P₄
x✝ : P₁ →ᵃ[k] P₃
p✝ : P₁
⊢ ((fun f ↦ (↑e₂.symm).comp (f.comp ↑e₁)) ((fun f ↦ (↑e₂).comp (f.comp ↑e₁.symm)) x✝)) p✝ = x✝ p✝
Module: Mathlib.LinearAlgebra.AffineSpace.AffineEquiv

Goal state before:
pp: k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹² : Ring k
inst✝¹¹ : AddCommGroup V₁
inst✝¹⁰ : AddCommGroup V₂
inst✝⁹ : AddCommGroup V₃
inst✝⁸ : AddCommGroup V₄
inst✝⁷ : Module k V₁
inst✝⁶ : Module k V₂
inst✝⁵ : Module k V₃
inst✝⁴ : Module k V₄
inst✝³ : AffineSpace V₁ P₁
inst✝² : AffineSpace V₂ P₂
inst✝¹ : AffineSpace V₃ P₃
inst✝ : AffineSpace V₄ P₄
e₁ : P₁ ≃ᵃ[k] P₂
e₂ : P₃ ≃ᵃ[k] P₄
x✝ : P₂ →ᵃ[k] P₄
p✝ : P₂
⊢ ((fun f ↦ (↑e₂).comp (f.comp ↑e₁.symm)) ((fun f ↦ (↑e₂.symm).comp (f.comp ↑e₁)) x✝)) p✝ = x✝ p✝

Tactic:
;

Goal state after:
k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹² : Ring k
inst✝¹¹ : AddCommGroup V₁
inst✝¹⁰ : AddCommGroup V₂
inst✝⁹ : AddCommGroup V₃
inst✝⁸ : AddCommGroup V₄
inst✝⁷ : Module k V₁
inst✝⁶ : Module k V₂
inst✝⁵ : Module k V₃
inst✝⁴ : Module k V₄
inst✝³ : AffineSpace V₁ P₁
inst✝² : AffineSpace V₂ P₂
inst✝¹ : AffineSpace V₃ P₃
inst✝ : AffineSpace V₄ P₄
e₁ : P₁ ≃ᵃ[k] P₂
e₂ : P₃ ≃ᵃ[k] P₄
x✝ : P₂ →ᵃ[k] P₄
p✝ : P₂
⊢ ((fun f ↦ (↑e₂).comp (f.comp ↑e₁.symm)) ((fun f ↦ (↑e₂.symm).comp (f.comp ↑e₁)) x✝)) p✝ = x✝ p✝
Module: Mathlib.LinearAlgebra.AffineSpace.AffineEquiv

Goal state before:
pp: k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹⁷ : Ring k
inst✝¹⁶ : AddCommGroup V₁
inst✝¹⁵ : AddCommGroup V₂
inst✝¹⁴ : AddCommGroup V₃
inst✝¹³ : AddCommGroup V₄
inst✝¹² : Module k V₁
inst✝¹¹ : Module k V₂
inst✝¹⁰ : Module k V₃
inst✝⁹ : Module k V₄
inst✝⁸ : AffineSpace V₁ P₁
inst✝⁷ : AffineSpace V₂ P₂
inst✝⁶ : AffineSpace V₃ P₃
inst✝⁵ : AffineSpace V₄ P₄
R : Type u_10
inst✝⁴ : CommRing R
inst✝³ : Module R V₁
inst✝² : Module R V₂
inst✝¹ : Module R V₃
inst✝ : Module R V₄
e₁ : P₁ ≃ᵃ[R] P₂
e₂ : V₃ ≃ₗ[R] V₄
x✝¹ x✝ : P₁ →ᵃ[R] V₃
p✝ : P₂
⊢ ((e₁.arrowCongrEquiv e₂.toAffineEquiv).toFun (x✝¹ + x✝)) p✝ =
    ((e₁.arrowCongrEquiv e₂.toAffineEquiv).toFun x✝¹ + (e₁.arrowCongrEquiv e₂.toAffineEquiv).toFun x✝) p✝

Tactic:
;

Goal state after:
k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹⁷ : Ring k
inst✝¹⁶ : AddCommGroup V₁
inst✝¹⁵ : AddCommGroup V₂
inst✝¹⁴ : AddCommGroup V₃
inst✝¹³ : AddCommGroup V₄
inst✝¹² : Module k V₁
inst✝¹¹ : Module k V₂
inst✝¹⁰ : Module k V₃
inst✝⁹ : Module k V₄
inst✝⁸ : AffineSpace V₁ P₁
inst✝⁷ : AffineSpace V₂ P₂
inst✝⁶ : AffineSpace V₃ P₃
inst✝⁵ : AffineSpace V₄ P₄
R : Type u_10
inst✝⁴ : CommRing R
inst✝³ : Module R V₁
inst✝² : Module R V₂
inst✝¹ : Module R V₃
inst✝ : Module R V₄
e₁ : P₁ ≃ᵃ[R] P₂
e₂ : V₃ ≃ₗ[R] V₄
x✝¹ x✝ : P₁ →ᵃ[R] V₃
p✝ : P₂
⊢ ((e₁.arrowCongrEquiv e₂.toAffineEquiv).toFun (x✝¹ + x✝)) p✝ =
    ((e₁.arrowCongrEquiv e₂.toAffineEquiv).toFun x✝¹ + (e₁.arrowCongrEquiv e₂.toAffineEquiv).toFun x✝) p✝
Module: Mathlib.LinearAlgebra.AffineSpace.AffineEquiv

Goal state before:
pp: k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹⁷ : Ring k
inst✝¹⁶ : AddCommGroup V₁
inst✝¹⁵ : AddCommGroup V₂
inst✝¹⁴ : AddCommGroup V₃
inst✝¹³ : AddCommGroup V₄
inst✝¹² : Module k V₁
inst✝¹¹ : Module k V₂
inst✝¹⁰ : Module k V₃
inst✝⁹ : Module k V₄
inst✝⁸ : AffineSpace V₁ P₁
inst✝⁷ : AffineSpace V₂ P₂
inst✝⁶ : AffineSpace V₃ P₃
inst✝⁵ : AffineSpace V₄ P₄
R : Type u_10
inst✝⁴ : CommRing R
inst✝³ : Module R V₁
inst✝² : Module R V₂
inst✝¹ : Module R V₃
inst✝ : Module R V₄
e₁ : P₁ ≃ᵃ[R] P₂
e₂ : V₃ ≃ₗ[R] V₄
x✝¹ : R
x✝ : P₁ →ᵃ[R] V₃
p✝ : P₂
⊢ ((e₁.arrowCongrEquiv e₂.toAffineEquiv).toFun (x✝¹ • x✝)) p✝ =
    ((RingHom.id R) x✝¹ • (e₁.arrowCongrEquiv e₂.toAffineEquiv).toFun x✝) p✝

Tactic:
;

Goal state after:
k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹⁷ : Ring k
inst✝¹⁶ : AddCommGroup V₁
inst✝¹⁵ : AddCommGroup V₂
inst✝¹⁴ : AddCommGroup V₃
inst✝¹³ : AddCommGroup V₄
inst✝¹² : Module k V₁
inst✝¹¹ : Module k V₂
inst✝¹⁰ : Module k V₃
inst✝⁹ : Module k V₄
inst✝⁸ : AffineSpace V₁ P₁
inst✝⁷ : AffineSpace V₂ P₂
inst✝⁶ : AffineSpace V₃ P₃
inst✝⁵ : AffineSpace V₄ P₄
R : Type u_10
inst✝⁴ : CommRing R
inst✝³ : Module R V₁
inst✝² : Module R V₂
inst✝¹ : Module R V₃
inst✝ : Module R V₄
e₁ : P₁ ≃ᵃ[R] P₂
e₂ : V₃ ≃ₗ[R] V₄
x✝¹ : R
x✝ : P₁ →ᵃ[R] V₃
p✝ : P₂
⊢ ((e₁.arrowCongrEquiv e₂.toAffineEquiv).toFun (x✝¹ • x✝)) p✝ =
    ((RingHom.id R) x✝¹ • (e₁.arrowCongrEquiv e₂.toAffineEquiv).toFun x✝) p✝
Module: Mathlib.LinearAlgebra.AffineSpace.AffineEquiv

Goal state before:
pp: k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹⁷ : Ring k
inst✝¹⁶ : AddCommGroup V₁
inst✝¹⁵ : AddCommGroup V₂
inst✝¹⁴ : AddCommGroup V₃
inst✝¹³ : AddCommGroup V₄
inst✝¹² : Module k V₁
inst✝¹¹ : Module k V₂
inst✝¹⁰ : Module k V₃
inst✝⁹ : Module k V₄
inst✝⁸ : AffineSpace V₁ P₁
inst✝⁷ : AffineSpace V₂ P₂
inst✝⁶ : AffineSpace V₃ P₃
inst✝⁵ : AffineSpace V₄ P₄
R : Type u_10
inst✝⁴ : CommRing R
inst✝³ : Module R V₁
inst✝² : Module R V₂
inst✝¹ : Module R V₃
inst✝ : Module R V₄
e₁ : P₁ ≃ᵃ[R] P₂
e₂ : P₃ ≃ᵃ[R] P₄
x✝¹ : P₁ →ᵃ[R] P₃
x✝ : P₁ →ᵃ[R] V₃
p✝ : P₂
⊢ ((e₁.arrowCongrEquiv e₂) (x✝ +ᵥ x✝¹)) p✝ = ((e₁.arrowCongrₗ e₂.linear) x✝ +ᵥ (e₁.arrowCongrEquiv e₂) x✝¹) p✝

Tactic:
;

Goal state after:
k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹⁷ : Ring k
inst✝¹⁶ : AddCommGroup V₁
inst✝¹⁵ : AddCommGroup V₂
inst✝¹⁴ : AddCommGroup V₃
inst✝¹³ : AddCommGroup V₄
inst✝¹² : Module k V₁
inst✝¹¹ : Module k V₂
inst✝¹⁰ : Module k V₃
inst✝⁹ : Module k V₄
inst✝⁸ : AffineSpace V₁ P₁
inst✝⁷ : AffineSpace V₂ P₂
inst✝⁶ : AffineSpace V₃ P₃
inst✝⁵ : AffineSpace V₄ P₄
R : Type u_10
inst✝⁴ : CommRing R
inst✝³ : Module R V₁
inst✝² : Module R V₂
inst✝¹ : Module R V₃
inst✝ : Module R V₄
e₁ : P₁ ≃ᵃ[R] P₂
e₂ : P₃ ≃ᵃ[R] P₄
x✝¹ : P₁ →ᵃ[R] P₃
x✝ : P₁ →ᵃ[R] V₃
p✝ : P₂
⊢ ((e₁.arrowCongrEquiv e₂) (x✝ +ᵥ x✝¹)) p✝ = ((e₁.arrowCongrₗ e₂.linear) x✝ +ᵥ (e₁.arrowCongrEquiv e₂) x✝¹) p✝
Module: Mathlib.LinearAlgebra.AffineSpace.AffineMap

Goal state before:
pp: k : Type u_2
V1 : Type u_3
P1 : Type u_4
inst✝⁵ : Ring k
inst✝⁴ : AddCommGroup V1
inst✝³ : AffineSpace V1 P1
inst✝² : Module k V1
ι : Type u_9
φv : ι → Type u_10
inst✝¹ : (i : ι) → AddCommGroup (φv i)
inst✝ : (i : ι) → Module k (φv i)
p✝ : P1
x✝ : ι
⊢ (pi fun x ↦ 0) p✝ x✝ = 0 p✝ x✝

Tactic:
;

Goal state after:
k : Type u_2
V1 : Type u_3
P1 : Type u_4
inst✝⁵ : Ring k
inst✝⁴ : AddCommGroup V1
inst✝³ : AffineSpace V1 P1
inst✝² : Module k V1
ι : Type u_9
φv : ι → Type u_10
inst✝¹ : (i : ι) → AddCommGroup (φv i)
inst✝ : (i : ι) → Module k (φv i)
p✝ : P1
x✝ : ι
⊢ (pi fun x ↦ 0) p✝ x✝ = 0 p✝ x✝
Module: Mathlib.LinearAlgebra.AffineSpace.AffineEquiv

Goal state before:
pp: k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹⁷ : Ring k
inst✝¹⁶ : AddCommGroup V₁
inst✝¹⁵ : AddCommGroup V₂
inst✝¹⁴ : AddCommGroup V₃
inst✝¹³ : AddCommGroup V₄
inst✝¹² : Module k V₁
inst✝¹¹ : Module k V₂
inst✝¹⁰ : Module k V₃
inst✝⁹ : Module k V₄
inst✝⁸ : AffineSpace V₁ P₁
inst✝⁷ : AffineSpace V₂ P₂
inst✝⁶ : AffineSpace V₃ P₃
inst✝⁵ : AffineSpace V₄ P₄
R : Type u_10
W : Type u_11
inst✝⁴ : Ring R
inst✝³ : AddCommGroup W
inst✝² : Module k W
inst✝¹ : Module R W
inst✝ : SMulCommClass k R W
e : P₁ ≃ᵃ[k] P₂
x✝¹ x✝ : P₁ →ᵃ[k] W
p✝ : P₂
⊢ ((e.arrowCongrEquiv (refl k W)).toFun (x✝¹ + x✝)) p✝ =
    ((e.arrowCongrEquiv (refl k W)).toFun x✝¹ + (e.arrowCongrEquiv (refl k W)).toFun x✝) p✝

Tactic:
;

Goal state after:
k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹⁷ : Ring k
inst✝¹⁶ : AddCommGroup V₁
inst✝¹⁵ : AddCommGroup V₂
inst✝¹⁴ : AddCommGroup V₃
inst✝¹³ : AddCommGroup V₄
inst✝¹² : Module k V₁
inst✝¹¹ : Module k V₂
inst✝¹⁰ : Module k V₃
inst✝⁹ : Module k V₄
inst✝⁸ : AffineSpace V₁ P₁
inst✝⁷ : AffineSpace V₂ P₂
inst✝⁶ : AffineSpace V₃ P₃
inst✝⁵ : AffineSpace V₄ P₄
R : Type u_10
W : Type u_11
inst✝⁴ : Ring R
inst✝³ : AddCommGroup W
inst✝² : Module k W
inst✝¹ : Module R W
inst✝ : SMulCommClass k R W
e : P₁ ≃ᵃ[k] P₂
x✝¹ x✝ : P₁ →ᵃ[k] W
p✝ : P₂
⊢ ((e.arrowCongrEquiv (refl k W)).toFun (x✝¹ + x✝)) p✝ =
    ((e.arrowCongrEquiv (refl k W)).toFun x✝¹ + (e.arrowCongrEquiv (refl k W)).toFun x✝) p✝
Module: Mathlib.LinearAlgebra.AffineSpace.AffineEquiv

Goal state before:
pp: k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹⁷ : Ring k
inst✝¹⁶ : AddCommGroup V₁
inst✝¹⁵ : AddCommGroup V₂
inst✝¹⁴ : AddCommGroup V₃
inst✝¹³ : AddCommGroup V₄
inst✝¹² : Module k V₁
inst✝¹¹ : Module k V₂
inst✝¹⁰ : Module k V₃
inst✝⁹ : Module k V₄
inst✝⁸ : AffineSpace V₁ P₁
inst✝⁷ : AffineSpace V₂ P₂
inst✝⁶ : AffineSpace V₃ P₃
inst✝⁵ : AffineSpace V₄ P₄
R : Type u_10
W : Type u_11
inst✝⁴ : Ring R
inst✝³ : AddCommGroup W
inst✝² : Module k W
inst✝¹ : Module R W
inst✝ : SMulCommClass k R W
e : P₁ ≃ᵃ[k] P₂
x✝¹ : R
x✝ : P₁ →ᵃ[k] W
p✝ : P₂
⊢ ((e.arrowCongrEquiv (refl k W)).toFun (x✝¹ • x✝)) p✝ =
    ((RingHom.id R) x✝¹ • (e.arrowCongrEquiv (refl k W)).toFun x✝) p✝

Tactic:
;

Goal state after:
k : Type u_1
P₁ : Type u_2
P₂ : Type u_3
P₃ : Type u_4
P₄ : Type u_5
V₁ : Type u_6
V₂ : Type u_7
V₃ : Type u_8
V₄ : Type u_9
inst✝¹⁷ : Ring k
inst✝¹⁶ : AddCommGroup V₁
inst✝¹⁵ : AddCommGroup V₂
inst✝¹⁴ : AddCommGroup V₃
inst✝¹³ : AddCommGroup V₄
inst✝¹² : Module k V₁
inst✝¹¹ : Module k V₂
inst✝¹⁰ : Module k V₃
inst✝⁹ : Module k V₄
inst✝⁸ : AffineSpace V₁ P₁
inst✝⁷ : AffineSpace V₂ P₂
inst✝⁶ : AffineSpace V₃ P₃
inst✝⁵ : AffineSpace V₄ P₄
R : Type u_10
W : Type u_11
inst✝⁴ : Ring R
inst✝³ : AddCommGroup W
inst✝² : Module k W
inst✝¹ : Module R W
inst✝ : SMulCommClass k R W
e : P₁ ≃ᵃ[k] P₂
x✝¹ : R
x✝ : P₁ →ᵃ[k] W
p✝ : P₂
⊢ ((e.arrowCongrEquiv (refl k W)).toFun (x✝¹ • x✝)) p✝ =
    ((RingHom.id R) x✝¹ • (e.arrowCongrEquiv (refl k W)).toFun x✝) p✝