Theorem: Basis.det_adjustToOrientation
File: Mathlib/LinearAlgebra/Orientation.lean

tactic: dsimp [Basis.adjustToOrientation]
state_before: R : Type u_1
inst✝⁶ : LinearOrderedCommRing R
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
ι : Type u_2
inst✝³ : Fintype ι
inst✝² : DecidableEq ι
inst✝¹ : Nontrivial R
inst✝ : Nonempty ι
e : Basis ι R M
x : Orientation R M ι
⊢ det (adjustToOrientation e x) = det e ∨ det (adjustToOrientation e x) = -det e

tactic: split_ifs
state_before: R : Type u_1
inst✝⁶ : LinearOrderedCommRing R
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
ι : Type u_2
inst✝³ : Fintype ι
inst✝² : DecidableEq ι
inst✝¹ : Nontrivial R
inst✝ : Nonempty ι
e : Basis ι R M
x : Orientation R M ι
⊢ det (if Basis.orientation e = x then e else unitsSMul e (Function.update 1 (Classical.arbitrary ι) (-1))) = det e ∨
    det (if Basis.orientation e = x then e else unitsSMul e (Function.update 1 (Classical.arbitrary ι) (-1))) = -det e

tactic: left
state_before: case inl
R : Type u_1
inst✝⁶ : LinearOrderedCommRing R
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
ι : Type u_2
inst✝³ : Fintype ι
inst✝² : DecidableEq ι
inst✝¹ : Nontrivial R
inst✝ : Nonempty ι
e : Basis ι R M
x : Orientation R M ι
h✝ : Basis.orientation e = x
⊢ det e = det e ∨ det e = -det e

tactic: rfl
state_before: case inl.h
R : Type u_1
inst✝⁶ : LinearOrderedCommRing R
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
ι : Type u_2
inst✝³ : Fintype ι
inst✝² : DecidableEq ι
inst✝¹ : Nontrivial R
inst✝ : Nonempty ι
e : Basis ι R M
x : Orientation R M ι
h✝ : Basis.orientation e = x
⊢ det e = det e

tactic: right
state_before: case inr
R : Type u_1
inst✝⁶ : LinearOrderedCommRing R
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
ι : Type u_2
inst✝³ : Fintype ι
inst✝² : DecidableEq ι
inst✝¹ : Nontrivial R
inst✝ : Nonempty ι
e : Basis ι R M
x : Orientation R M ι
h✝ : ¬Basis.orientation e = x
⊢ det (unitsSMul e (Function.update 1 (Classical.arbitrary ι) (-1))) = det e ∨
    det (unitsSMul e (Function.update 1 (Classical.arbitrary ι) (-1))) = -det e

tactic: simp [e.det_unitsSMul, ← Units.coe_prod, Finset.prod_update_of_mem]
state_before: case inr.h
R : Type u_1
inst✝⁶ : LinearOrderedCommRing R
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
ι : Type u_2
inst✝³ : Fintype ι
inst✝² : DecidableEq ι
inst✝¹ : Nontrivial R
inst✝ : Nonempty ι
e : Basis ι R M
x : Orientation R M ι
h✝ : ¬Basis.orientation e = x
⊢ det (unitsSMul e (Function.update 1 (Classical.arbitrary ι) (-1))) = -det e

tactic: ext
state_before: case inr.h
R : Type u_1
inst✝⁶ : LinearOrderedCommRing R
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
ι : Type u_2
inst✝³ : Fintype ι
inst✝² : DecidableEq ι
inst✝¹ : Nontrivial R
inst✝ : Nonempty ι
e : Basis ι R M
x : Orientation R M ι
h✝ : ¬Basis.orientation e = x
⊢ -1 • det e = -det e

tactic: simp
state_before: case inr.h.H
R : Type u_1
inst✝⁶ : LinearOrderedCommRing R
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
ι : Type u_2
inst✝³ : Fintype ι
inst✝² : DecidableEq ι
inst✝¹ : Nontrivial R
inst✝ : Nonempty ι
e : Basis ι R M
x : Orientation R M ι
h✝ : ¬Basis.orientation e = x
x✝ : ι → M
⊢ ↑(-1 • det e) x✝ = ↑(-det e) x✝