The symmetry group of the target triangle #
rot (rotation by 120 degrees) and refl (a, b) = (b, a) preserve sqDist, the target
triangle, the hexagon, permute the ten anchors and transport full ray lengths. A configuration
is relabelled along the induced anchor permutation, so that the minimal full side section can
be moved to vertex 0, towards vertex 5 (external side) or towards vertex 1 (internal side).
Reflection that exchanges the two triangular coordinates.
Equations
- ConwaySoifer.refl p = (p.2, p.1)
Instances For
Rotation through 120 degrees as a real linear map.
Equations
- ConwaySoifer.rotL = { toFun := ConwaySoifer.rot, map_add' := ConwaySoifer.rot_add, map_smul' := ConwaySoifer.rot_smul }
Instances For
Coordinate reflection as a real linear map.
Equations
- ConwaySoifer.reflL = { toFun := ConwaySoifer.refl, map_add' := ConwaySoifer.refl_add, map_smul' := ConwaySoifer.refl_smul }
Instances For
Anchor permutations #
Transformed triangles and configurations #
def
ConwaySoifer.Configuration.transform
(T : Configuration)
(f : Point →ₗ[ℝ] Point)
(hf : ∀ (p q : Point), sqDist (f p) (f q) = sqDist p q)
(σinv : Fin 10 → Fin 10)
:
Relabelled and transformed configuration: owner i of the new configuration is the image
of the owner of the anchor sent to anchor i.
Instances For
theorem
ConwaySoifer.Configuration.transform_common
{T : Configuration}
{r : ℝ}
(h : CommonSide T r)
(f : Point →ₗ[ℝ] Point)
(hf : ∀ (p q : Point), sqDist (f p) (f q) = sqDist p q)
(σinv : Fin 10 → Fin 10)
:
CommonSide (T.transform f hf σinv) r
theorem
ConwaySoifer.Configuration.transform_covers
{T : Configuration}
(h : Covers T)
(f : Point →ₗ[ℝ] Point)
(hf : ∀ (p q : Point), sqDist (f p) (f q) = sqDist p q)
(hbij : Function.Bijective ⇑f)
(htarget : ∀ (p : Point), f p ∈ target ↔ p ∈ target)
(σinv : Fin 10 → Fin 10)
(hσ : Function.Surjective σinv)
:
theorem
ConwaySoifer.Configuration.transform_anchored
{T : Configuration}
(h : ∀ (i : Fin 10), anchor i ∈ (T i).carrier)
(f : Point →ₗ[ℝ] Point)
(hf : ∀ (p q : Point), sqDist (f p) (f q) = sqDist p q)
(hinj : Function.Injective ⇑f)
(σ σinv : Fin 10 → Fin 10)
(hσ : ∀ (i : Fin 10), σ (σinv i) = i)
(hanchor : ∀ (i : Fin 10), f (anchor i) = anchor (σ i))
(i : Fin 10)
:
The rotated configuration.
Instances For
The reflected configuration.
Instances For
theorem
ConwaySoifer.rotate_common
{T : Configuration}
{r : ℝ}
(h : CommonSide T r)
:
CommonSide T.rotate r
theorem
ConwaySoifer.reflect_common
{T : Configuration}
{r : ℝ}
(h : CommonSide T r)
:
CommonSide T.reflect r
Side sections of the rotated configuration.
theorem
ConwaySoifer.cornerLen_rotate
(T : Configuration)
(j : Fin 3)
(m : Fin 2)
:
rayLen (T.rotate (cornerIndex (j + 1))) (corner (j + 1)) (cornerDirection (j + 1) m) = rayLen (T (cornerIndex j)) (corner j) (cornerDirection j m)
theorem
ConwaySoifer.cornerLen_reflect
(T : Configuration)
(j : Fin 3)
(m : Fin 2)
:
rayLen (T.reflect (cornerIndex (reflCorner j))) (corner (reflCorner j)) (cornerDirection (reflCorner j) (1 - m)) = rayLen (T (cornerIndex j)) (corner j) (cornerDirection j m)