Documentation

Coxeter.LinearAlgebra.TwoDim

Two dimensional Euclidean spaces #

This file proves that the composition of two reflections is a rotation.

Main statements #

theorem Coxeter.cos_two_nsmul (θ : Real.Angle) :
(2 θ).cos = θ.cos * θ.cos - θ.sin * θ.sin
noncomputable def Coxeter.reflect {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [hdim2 : Fact (Module.finrank E = 2)] {x : E} (hx : x = 1) :
Equations
Instances For
    theorem Coxeter.reflect_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [hdim2 : Fact (Module.finrank E = 2)] {x : E} (hx : x = 1) (y : E) :
    (reflect hx) y = y - (2 * inner x y) x
    theorem Coxeter.reflect_reflect {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [hdim2 : Fact (Module.finrank E = 2)] (o : Orientation E (Fin 2)) {x y : E} (hx : x = 1) (hy : y = 1) :
    reflect hx ≪≫ₗ reflect hy = (o.rotation (2 o.oangle x y))
    theorem Coxeter.reflect_reflect_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [hdim2 : Fact (Module.finrank E = 2)] (o : Orientation E (Fin 2)) {x y : E} (hx : x = 1) (hy : y = 1) (v : E) :
    (reflect hy) ((reflect hx) v) = (o.rotation (2 o.oangle x y)) v
    theorem Coxeter.rotation_pow {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [hdim2 : Fact (Module.finrank E = 2)] (o : Orientation E (Fin 2)) (n : ) (θ : Real.Angle) :
    o.rotation θ ^ n = o.rotation (n θ)
    theorem Coxeter.addOrderOf_two_pi_div (m : ) (hm : m > 0) :
    addOrderOf ↑(2 * Real.pi / m) = m
    theorem Coxeter.order_rotation_two_pi_div {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [hdim2 : Fact (Module.finrank E = 2)] (o : Orientation E (Fin 2)) (m : ) (hm : m > 0) :
    orderOf (o.rotation ↑(2 * Real.pi / m)) = m