An action orbit certificate retains transporters and their programs in the original permutation generators. The objects need not have a faithful action.
- objects : Array α
Instances For
def
Hex.PermGroup.Action.Orbit.Valid
{n : Nat}
{G : Group n}
{α : Type u}
(a : Action G α)
(x : α)
(c : Orbit G α)
:
Reachability, identity at the base, and closure under signed generators. Only a complete certificate can justify a negative transporter answer.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
instance
Hex.PermGroup.Action.Orbit.instDecidableValid
{n : Nat}
{G : Group n}
{α : Type u}
[DecidableEq α]
(a : Action G α)
(x : α)
(c : Orbit G α)
:
Equations
- One or more equations did not get rendered due to their size.
def
Hex.PermGroup.Action.Orbit.transporter?
{n : Nat}
{G : Group n}
{α : Type u}
[DecidableEq α]
{a : Action G α}
{x : α}
{c : Orbit G α}
(_valid : Valid a x c)
(y : α)
:
Read the stored representative only after establishing domain membership.
Equations
- Hex.PermGroup.Action.Orbit.transporter? _valid y = if hy : y ∈ c.objects then some c.reps[↑(Hex.PermGroup.Action.Domain.index y hy)] else none
Instances For
theorem
Hex.PermGroup.Action.Orbit.transporter_sound
{n : Nat}
{G : Group n}
{α : Type u}
[DecidableEq α]
{a : Action G α}
{x : α}
{c : Orbit G α}
(h : Valid a x c)
(y : α)
(p : Element G)
(hp : transporter? h y = some p)
:
def
Hex.PermGroup.Action.checkOrbit
{n : Nat}
{G : Group n}
{α : Type u}
[DecidableEq α]
(a : Action G α)
(x : α)
(c : Orbit G α)
:
Replay reachability programs and signed generator closure on action objects.
Equations
- a.checkOrbit x c = decide (Hex.PermGroup.Action.Orbit.Valid a x c)