Mathlib v3 is deprecated. Go to Mathlib v4

Commit 2020-09-29 07:37 22d034c1

View on Github →

feat(algebra/quandle): racks and quandles (#4247) This adds the algebraic structures of racks and quandles, defines a few examples, and provides the universal enveloping group of a rack. A rack is a set that acts on itself bijectively, and sort of the point is that the action act : α → (α ≃ α) satisfies

act (x ◃ y) = act x * act y * (act x)⁻¹

where x ◃ y is the usual rack/quandle notation for act x y. (Note: racks do not use has_scalar because it's convenient having x ◃⁻¹ y for the inverse action of x on y. Plus, associative racks have a trivial action.) In knot theory, the universal enveloping group of the fundamental quandle is isomorphic to the fundamental group of the knot complement. For oriented knots up to orientation-reversed mirror image, the fundamental quandle is a complete invariant, unlike the fundamental group, which fails to distinguish non-prime knots with chiral summands.

Estimated changes

added def quandle.conj.map
added def quandle.conj
added theorem quandle.conj_swap
added def quandle.dihedral
added theorem quandle.fix_inv
added def rack.act
added theorem rack.act_apply
added theorem rack.act_inv_act_eq
added theorem rack.act_symm_apply
added theorem rack.ad_conj
added theorem rack.assoc_iff_id
added theorem rack.envel_action_prop
added def rack.envel_group
added theorem rack.inv_act_act_eq
added theorem rack.inv_act_apply
added def rack.is_abelian
added theorem rack.left_cancel
added theorem rack.left_cancel_inv
added theorem rack.op_act_op_eq
added theorem rack.op_inv_act_op_eq
added inductive rack.pre_envel_group
added inductive rack.pre_envel_group_rel'
added inductive rack.pre_envel_group_rel
added theorem rack.self_act_act_eq
added theorem rack.self_distrib
added theorem rack.self_distrib_inv
added def rack.to_conj
added def shelf_hom.comp
added theorem shelf_hom.comp_apply
added def shelf_hom.id
added theorem shelf_hom.map_act
added structure shelf_hom