OAI/GroupTheory/BooneHigman/TreeCoherence.lean
108 declarations, 0 contain sorry, 0 declared as axioms
Decorated tree interpretation, grafting, leaf values, and common-refinement invariance.
- abbrev
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.arityline 20Source documentation
Number of internal nodes, so that the number of leaves is
arity+1.abbrev arity : Tree X → ℕ | .leaf => 0 | .split _ a b => arity a+arity b+1 /-- Left-to-right exact ordinal enumeration of the leaves. -/
Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordinal
- def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordinalline 25Source documentation
Left-to-right exact ordinal enumeration of the leaves.
def ordinal : (a : Tree X) → a.Leaves ≃ Fin (a.arity+1) | .leaf => { toFun := fun _=>0 …Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree
- lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordinal_leafline 33 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordinal_leftline 34 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordinal_rightline 36 - def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordinalEquivline 39 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordinalEquiv_applyline 42 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordinalEquiv_transline 45 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordinalEquiv_sumline 50 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordinalEquiv_exchangeline 59 - def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.flattenline 77Source documentation
Interpret the split tree as a map from its ordered comb of leaves.
def flatten : Tree X → H | .leaf => 1 | .split x a b => B x*d.tensor (flatten a,flatten b)*(merge d a.arity)⁻¹ /-- The actual groupoid interpretation of a whole permutation of leaves. -/
Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree
- def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValueline 82Source documentation
The actual groupoid interpretation of a whole permutation of leaves.
def leafValue {a b:Tree X} (e:a.Leaves ≃ b.Leaves) : H := …Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree
- lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_reflline 85 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_transline 90 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_symmline 96 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_sumline 102 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_exchangeline 115 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.equivVal_ordinal_assocline 126 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.flatten_assocline 139 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_assocline 169 - inductive
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Routeline 185Source documentation
Structural routes made only from tensor, associativity and exchange. The arbitrary-permutation completeness theorem below is proved, not a constructor.
inductive Route : {a b:Tree X} → (a.Leaves ≃ b.Leaves) → Prop | refl (a) : Route (a:=a) (b:=a) (Equiv.refl _) …Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree
- def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Orderedline 196 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Ordered.transline 199 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Ordered.symmline 201 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Ordered.uniqueline 204 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Ordered.arityline 209 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Ordered.sumline 212 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordered_assocline 220 - abbrev
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.combline 227 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.arity_combline 231 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.route_mergeline 236 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.route_normalline 253 - def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.combIndexline 264 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.combIndex_leftline 267 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.combIndex_rightline 269 - def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.combPermline 273Source documentation
Conjugate an ordinal permutation to the exact leaves of the comb.
def combPerm (x:X) (n:ℕ) (p:Equiv.Perm (Fin (n+1))) : Equiv.Perm (comb x n).Leaves := …
Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.comb, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Leaves
- lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.combIndex_permline 276 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.combPerm_oneline 279 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.combPerm_mulline 281 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.route_comb_adjacentline 285 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.route_comb_permline 360 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.route_comb_equivline 367 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.route_completeline 379Source documentation
Every bijection of leaves is generated by associativity, symmetries and tensor. This is a finite-permutation coherence theorem, not an extra relation.
lemma route_complete (x:X) {a b:Tree X} (e:a.Leaves ≃ b.Leaves) : Route e := by …Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Route
- def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftLiftline 397Source documentation
Replace each leaf by the tree attached to its image. This is cabling of a bijection, defined on the actual dependent leaf sets.
def graftLift {a b:Tree X} (e:a.Leaves ≃ b.Leaves) (F:b.Leaves → Tree X) : (a.graft (fun i=>F (e i))).Leaves ≃ (b.graft F).Leaves := …Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Leaves
- lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftLift_applyline 402 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftLift_reflline 408 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftLift_transline 414 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftLift_sumline 425 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftLift_assocline 440 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftLift_exchangeline 456 - def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.cableValueline 474 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.cableValue_reflline 477 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.cableValue_transline 483 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.cableValue_sumline 491 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.cableValue_assocline 501 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.cableValue_exchangeline 510 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Route.cableValue_eqline 519Source documentation
Structural routes are invariant under replacing their wires by arbitrary (nonempty) trees. This is cabling coherence for whole leaf permutations.
lemma Route.cableValue_eq {a b:Tree X} {e:a.Leaves ≃ b.Leaves} (h:Route e) (F:b.Leaves → Tree X) : cableValue d q B e F=leafValue d q B e := by …Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Route, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.cableValue, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue
- lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_graftLiftline 535 - abbrev
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.quadline 539 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.flatten_bitline 541 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.flatten_quadline 544 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.ordinalEquiv_quadline 549 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_quad_middleline 555 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_middleline 568 - structure
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.GridLawline 586Source documentation
The only additional colour relation needed for all tree-partition coherence.
structure GridLaw : Prop where …
- lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_interchangeline 589 - def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.SameBricksline 594 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.SameBricks.uniqueline 597 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.SameBricks.symmline 602 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.SameBricks.transline 605 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.SameBricks.brickSet_eqline 609 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.sameBricks_sumline 616 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.sameBricks_interchangeline 623 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Coherent.exists_value_oneline 631 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_of_sameBricksline 655Source documentation
All equality between actual tree partitions follows from the finite colour interchange law, including the induced full permutation of their leaves.
lemma leafValue_of_sameBricks (g:GridLaw d q B) {a b:Tree X} (e:a.Leaves ≃ b.Leaves) (he:SameBricks e) : leafValue d q B e=1 := by …Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.GridLaw, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.SameBricks, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue
- def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.structuralToEndpointline 671 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.structuralToEndpoint_projectline 673 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.structuralToEndpoint_surjectiveline 675 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.structuralToEndpoint_tensorline 677 - def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.endpointDataline 684Source documentation
The finite endpoint quotient supplies the full binary symmetric structure.
def endpointData : Data (EndpointQuotient (Γ:=Γ) x s t y₀) where …
Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.EndpointQuotient
- def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.endpointSymmetryDataline 700 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.endpointProject_middleSwapWordline 718 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.endpointProject_gridWordline 725 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.endpointBaker_baseline 734 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.endpointBaker_covarianceline 736 - theorem
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Generators.endpointGridLawline 747 - def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.foldline 765Source documentation
Tensor leaf decorations along the literal coloured tree.
def fold : (a:Tree X) → (a.Leaves → H) → H | .leaf,F => F PUnit.unit | .split x a b,F => B x*d.tensor (fold a (fun i=>F (Sum.inl i)), fold b (fun i=>F (Sum.inr i)))*(B x)⁻¹Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree
- lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.fold_congrline 770 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.fold_oneline 773 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.fold_mulline 779 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.fold_invline 793 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.fold_graftline 799Source documentation
Substitution of arbitrary decorated trees at all leaves.
lemma fold_graft (a:Tree X) (F:a.Leaves → Tree X) (L:(a.graft F).Leaves → H) : fold d B (a.graft F) L=fold d B a (fun i=>fold d B (F i) (fun j=>L ((a.graftLeaves F).symm ⟨i,j⟩))) := by …Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Leaves, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.fold
- lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.tensor_squareline 811Source documentation
Scalar naturality for a tensor square, preventing dependent tree rewrites.
lemma tensor_square (A C U V F G I J:H) (h₁:U*F=I*U) (h₂:V*G=J*V) : (C*d.tensor (U,V)*A⁻¹)*(A*d.tensor (F,G)*A⁻¹)= (C*d.tensor (I,J)*C⁻¹)*(C*d.tensor (U,V)*A⁻¹) := by … - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.fold_left_algebraline 822Source documentation
Flatten nested conjugations in a left-associated tree.
lemma fold_left_algebra (x y:X) (A C E:H) : B x*d.tensor (B y*d.tensor (A,C)*(B y)⁻¹,E)*(B x)⁻¹= (B x*d.tensor (B y,1))*d.tensor (d.tensor (A,C),E)*(B x*d.tensor (B y,1))⁻¹ := by … - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.fold_right_algebraline 829 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_fold_routeline 837 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_foldline 886 - def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftMapline 892Source documentation
Whole dependent substitution of a bijection and bijections in every fibre.
def graftMap {a b:Tree X} (e:a.Leaves ≃ b.Leaves) (F:a.Leaves → Tree X) (G:b.Leaves → Tree X) (h:∀ i,(F i).Leaves ≃ (G (e i)).Leaves) : (a.graft F).Leaves ≃ (b.graft G).Leaves := …Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Leaves
- lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftMap_applyline 895 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftMap_leafline 900 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftMap_sumline 905 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_graftWithinline 923 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.graftMap_factorline 934 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_graftMapline 945 - def
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.colourLeavesline 958Source documentation
Leaf transport of a coordinate relabelling, with the same binary shape.
def colourLeaves (f:X → X) : (a:Tree X) → a.Leaves ≃ (mapColors f a).Leaves | .leaf => Equiv.refl _ | .split _ a b => Equiv.sumCongr (colourLeaves f a) (colourLeaves f b)
Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.mapColors, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.Leaves
- lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.colour_brickline 962 - lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_colourline 976Source documentation
Root-label splitting, derived solely from the proved baker covariance law.
lemma leafValue_colour (R:Γ →* H) (hR:∀ g x,R g*B x=B (g • x)*d.tensor (R g,R g)) (g:Γ) (a:Tree X) : leafValue d q B (colourLeaves (fun x=>g • x) a)*fold d B a (fun _=>R g)=R g := by …Mentions: OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.colourLeaves, OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.fold
- lemma
OAI.FiniteAlgebraicEnvelopes.TwistedBrinThompson.Tree.leafValue_uncolourline 996