A right-translation collision on a period-four left orbit gives the q-packet or a fixer
ProvedFiniteMagmaE677.period_four_orbit_right_collision_gives_q_packet_or_fixerLet be a finite magma satisfying E677: for all ,
Fix and suppose the left orbit of under has minimal period four. Concretely, name the orbit points
and assume together with , , . Suppose two distinct points of the orbit collide under right translation by :
Write , , and . Then at least one of the following holds.
- has a fixer: some satisfies .
- The collision normalizes to the distinguished -packet
the element lies outside , and a second fresh element is identified by one of two tagged branches:
- the -branch: ; or
- the -branch: and .
In the period-four case, this reduces an arbitrary right-translation collision on the orbit to a single normal form, with at least six distinct named elements, unless a fixer already exists. It does not decide whether the normal form can occur, so it does not prove the orbit right-collision theorem for period four.
Formalization Note Minimal period four is stated as closure together with the three inequalities , which exclude periods one, two, and three. Orbit membership is the predicate InLeftOrbit, and the fixer alternative is HasFixerAt. The terms , , are written out in full.
import Definitions.Def_FiniteMagmaE677 universe u
theorem FiniteMagmaE677.period_four_orbit_right_collision_gives_q_packet_or_fixer
{α : Type u} [Fintype α] (op : α → α → α) (h : FiniteMagmaE677.E677 op)
(x c1 c2 c3 : α)
(hc1 : op x x = c1)
(hc2 : op x c1 = c2)
(hc3 : op x c2 = c3)
(hcloses : op x c3 = x)
(hx_ne_c1 : x ≠ c1)
(hx_ne_c2 : x ≠ c2)
(hx_ne_c3 : x ≠ c3)
(a b : α)
(ha : FiniteMagmaE677.InLeftOrbit op x a)
(hb : FiniteMagmaE677.InLeftOrbit op x b)
(hab : a ≠ b)
(hcollision : op a x = op b x) :
(op c2 x = op c3 x ∧
op c1 (op c2 x) = x ∧
op c2 (op c2 x) = c1 ∧
op c2 x ≠ x ∧
op c2 x ≠ c1 ∧
op c2 x ≠ c2 ∧
op c2 x ≠ c3 ∧
((op c1 c2 ≠ x ∧
op c1 c2 ≠ c1 ∧
op c1 c2 ≠ c2 ∧
op c1 c2 ≠ c3 ∧
op c1 c2 ≠ op c2 x) ∨
(op c1 c2 = c1 ∧
op c3 (op c2 x) ≠ x ∧
op c3 (op c2 x) ≠ c1 ∧
op c3 (op c2 x) ≠ c2 ∧
op c3 (op c2 x) ≠ c3 ∧
op c3 (op c2 x) ≠ op c2 x))) ∨
FiniteMagmaE677.HasFixerAt op x := by sorry