Equations
- treeConcat (Lf a) = [a]
- treeConcat (tl ⋆ tr) = treeConcat tl ++ treeConcat tr
Instances For
Equations
- rightJoinTrees (Lf a) t2 = Lf a ⋆ t2
- rightJoinTrees (tl ⋆ tr) t2 = tl ⋆ rightJoinTrees tr t2
Instances For
Equations
- rightAssociateTree (Lf a) = Lf a
- rightAssociateTree (tl ⋆ tr) = rightJoinTrees (rightAssociateTree tl) (rightAssociateTree tr)
Instances For
theorem
AssocImpliesForkEquivRightJoin
{α : Type u_1}
{G : Type u_2}
[Magma G]
(assoc : Equation4512 G)
(f : α → G)
(tl tr : FreeMagma α)
:
theorem
AssocFullyRightAssociate
{α : Type u_1}
{G : Type u_2}
[Magma G]
(assoc : Equation4512 G)
(f : α → G)
(t : FreeMagma α)
:
- Singleton {α : Type u_1} : α → FreeSemigroup α
- Cons {α : Type u_1} : α → FreeSemigroup α → FreeSemigroup α
Instances For
Equations
- semigroupConcat (FreeSemigroup.Singleton a) s2 = FreeSemigroup.Cons a s2
- semigroupConcat (FreeSemigroup.Cons a s1tail) s2 = FreeSemigroup.Cons a (semigroupConcat s1tail s2)
Instances For
Equations
- instMagmaFreeSemigroup α = { op := semigroupConcat }
Equations
- freeMagmaToFreeSgr = { toFun := fun (t : FreeMagma α) => t ⬝ FreeSemigroup.Singleton, map_op' := ⋯ }
Instances For
Equations
- evalInSgr f (FreeSemigroup.Singleton a) = f a
- evalInSgr f (FreeSemigroup.Cons a s1tail) = f a ◇ evalInSgr f s1tail
Instances For
Equations
- evalInSgrHom assoc f = { toFun := evalInSgr f, map_op' := ⋯ }
Instances For
theorem
evalInSgrHom.mapper
{α : Type u_1}
{G : Type u_2}
[Magma G]
(assoc : Equation4512 G)
(f : α → G)
(ls1 ls2 : FreeSemigroup α)
:
Equations
- foldFreeSemigroup (FreeSemigroup.Singleton a) = a
- foldFreeSemigroup (FreeSemigroup.Cons a s1tail) = a ◇ foldFreeSemigroup s1tail
Instances For
theorem
AssocImpliesSgrProjFaithful
{α : Type u_1}
{G : Type u_2}
[Magma G]
(assoc : Equation4512 G)
(f : α → G)
(t : FreeMagma α)
:
Equations
- insertSgrSorted i (FreeSemigroup.Singleton j) = if i ≤ j then FreeSemigroup.Cons i (FreeSemigroup.Singleton j) else FreeSemigroup.Cons j (FreeSemigroup.Singleton i)
- insertSgrSorted i (FreeSemigroup.Cons j lstail) = if i ≤ j then FreeSemigroup.Cons i (FreeSemigroup.Cons j lstail) else FreeSemigroup.Cons j (FreeSemigroup.Cons i lstail)
Instances For
Equations
- insertionSortSgr (FreeSemigroup.Singleton j) = FreeSemigroup.Singleton j
- insertionSortSgr (FreeSemigroup.Cons j lstail) = insertSgrSorted j (insertionSortSgr lstail)
Instances For
theorem
CommSgrImpliesInsertSortedFaithful
{n : ℕ}
{G : Type u_1}
[Magma G]
(assoc : Equation4512 G)
(comm : Equation43 G)
(f : Fin n → G)
(i : Fin n)
(ls : FreeSemigroup (Fin n))
:
theorem
CommSgrImpliesInsertionSortFaithful
{n : ℕ}
{G : Type u_1}
[Magma G]
(assoc : Equation4512 G)
(comm : Equation43 G)
(f : Fin n → G)
(ls : FreeSemigroup (Fin n))
:
Equations
- involutionReduce (FreeSemigroup.Singleton a) = FreeSemigroup.Singleton a
- involutionReduce (FreeSemigroup.Cons a (FreeSemigroup.Singleton b)) = FreeSemigroup.Cons a (FreeSemigroup.Singleton b)
- involutionReduce (FreeSemigroup.Cons a (FreeSemigroup.Cons b lstail)) = if a = b then involutionReduce lstail else FreeSemigroup.Cons a (involutionReduce (FreeSemigroup.Cons b lstail))
Instances For
def
InvolutiveImpliesInvolutionReduceFaithful
{α : Type u_1}
[DecidableEq α]
{G : Type u_2}
[Magma G]
(ls : FreeSemigroup α)
(invol : Equation16 G)
(f : α → G)
:
Equations
- ⋯ = ⋯
Instances For
Equations
- equation1571Reducer t = involutionReduce (insertionSortSgr (freeMagmaToFreeSgr (t ⋆ (Lf (Fin.last n) ⋆ Lf (Fin.last n)))))
Instances For
theorem
AbGrpPow2ImpliesEquation1571ReducerFaithful
{n : ℕ}
{G : Type u_1}
[Magma G]
(t : FreeMagma (Fin (n + 1)))
(f : Fin (n + 1) → G)
(assoc : Equation4512 G)
(comm : Equation43 G)
(invol : Equation16 G)
: