inductive
Hex.PermGroup.Search.Decision
{n : Nat}
{G : Group n}
{test : Perm n → Bool}
(C : Pruner G test)
(t : Node G)
:
A node either supplies a satisfying completion or a checked account of why every completion fails. There is no exhausted-search constructor.
- found {n : Nat} {G : Group n} {test : Perm n → Bool} {C : Pruner G test} {t : Node G} (p : Element G) (inside : t.Contains p.val) (satisfies : test p.val = true) : Decision C t
- absent {n : Nat} {G : Group n} {test : Perm n → Bool} {C : Pruner G test} {t : Node G} (certificate : Certificate C.Reason) (checked : checkFailure C t certificate = true) : Decision C t
Instances For
inductive
Hex.PermGroup.Search.First.Children
{n : Nat}
{G : Group n}
{test : Perm n → Bool}
(C : Pruner G test)
{m : Nat}
(nodes : Fin m → Node G)
(k : Nat)
(hk : k ≤ m)
:
The first k children either yielded a witness, or all have failure
certificates. A witness prevents visiting any later children.
- found {n : Nat} {G : Group n} {test : Perm n → Bool} {C : Pruner G test} {m : Nat} {nodes : Fin m → Node G} {k : Nat} {hk : k ≤ m} (i : Fin k) (p : Element G) (inside : (nodes ⟨↑i, ⋯⟩).Contains p.val) (satisfies : test p.val = true) : Children C nodes k hk
- absent {n : Nat} {G : Group n} {test : Perm n → Bool} {C : Pruner G test} {m : Nat} {nodes : Fin m → Node G} {k : Nat} {hk : k ≤ m} (certificates : Vector (Certificate C.Reason) k) (checked : ∀ (i : Fin k), checkFailure C (nodes ⟨↑i, ⋯⟩) certificates[↑i] = true) : Children C nodes k hk
Instances For
def
Hex.PermGroup.Search.First.collect
{n : Nat}
{G : Group n}
{test : Perm n → Bool}
(C : Pruner G test)
{m : Nat}
(nodes : Fin m → Node G)
(visit : (i : Fin m) → Decision C (nodes i))
(k : Nat)
(hk : k ≤ m)
:
Children C nodes k hk
Equations
- One or more equations did not get rendered due to their size.
- Hex.PermGroup.Search.First.collect C nodes visit 0 hk_2 = Hex.PermGroup.Search.First.Children.absent #v[] ⋯
Instances For
@[irreducible]
def
Hex.PermGroup.Search.First.visit
{n : Nat}
{G : Group n}
{test : Perm n → Bool}
(C : Pruner G test)
(t : Node G)
:
Decision C t
Follow the checked chain and refine assigned images before expanding a node. A successful leaf ends the search immediately.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The original-generator program and defining equation are independently checkable data for a positive transporter answer.
Instances For
inductive
Hex.PermGroup.Search.Answer
{n : Nat}
{G : Group n}
{test : Perm n → Bool}
(C : Pruner G test)
:
- found {n : Nat} {G : Group n} {test : Perm n → Bool} {C : Pruner G test} (witness : Witness G test) : Answer C
- absent {n : Nat} {G : Group n} {test : Perm n → Bool} {C : Pruner G test} (certificate : Certificate C.Reason) (checked : checkFailure C (Node.root G) certificate = true) : Answer C
Instances For
def
Hex.PermGroup.Search.Answer.element?
{n : Nat}
{G : Group n}
{test : Perm n → Bool}
(C : Pruner G test)
:
Equations
- Hex.PermGroup.Search.Answer.element? C (Hex.PermGroup.Search.Answer.found w) = some w.element
- Hex.PermGroup.Search.Answer.element? C (Hex.PermGroup.Search.Answer.absent certificate checked) = none