OAI/Combinatorics/TwoWayAutomata/Relations.lean
20 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.TwoWayComplementation.relStar_monoline 10 - theorem
OAI.TwoWayComplementation.relStar_emptyline 15 - theorem
OAI.TwoWayComplementation.relStar_comp_selfline 26 - def
OAI.TwoWayComplementation.blockRelationline 33Source documentation
A directed graph partitioned into two kinds of vertices.
def blockRelation {α β : Type*} (E : SetRel α α) (F : SetRel α β) (G : SetRel β α) (H : SetRel β β) : SetRel (α ⊕ β) (α ⊕ β) := … - theorem
OAI.TwoWayComplementation.blockRelation_star_rightline 42Source documentation
Eliminate the left block by replacing each finite excursion with one edge.
theorem blockRelation_star_right {α β : Type*} (E : SetRel α α) (F : SetRel α β) (G : SetRel β α) (H : SetRel β β) (x y : β) : ((Sum.inr x), (Sum.inr y)) ∈ relStar (blockRelation E F G H) ↔ (x, y) ∈ relStar (H ∪ (G ○ relStar E ○ F)) := by …Mentions: OAI.TwoWayComplementation.relStar, OAI.TwoWayComplementation.blockRelation
- theorem
OAI.TwoWayComplementation.blockRelation_star_crossline 78Source documentation
A path from the left block first leaves it once, then makes arbitrary finite excursions.
theorem blockRelation_star_cross {α β : Type*} (E : SetRel α α) (F : SetRel α β) (G : SetRel β α) (H : SetRel β β) (x : α) (y : β) : ((Sum.inl x), (Sum.inr y)) ∈ relStar (blockRelation E F G H) ↔ (x, y) ∈ relStar E ○ F ○ relStar (H ∪ (G ○ relStar E ○ F)) := by …Mentions: OAI.TwoWayComplementation.relStar, OAI.TwoWayComplementation.blockRelation
- theorem
OAI.TwoWayComplementation.relStar_unionline 107Source documentation
Closure of a union factors into alternating finite paths.
theorem relStar_union {α : Type*} (A B : SetRel α α) : relStar (A ∪ B) = relStar A ○ relStar (B ○ relStar A) := by …Mentions: OAI.TwoWayComplementation.relStar
- theorem
OAI.TwoWayComplementation.comp_relStar_rotateline 126Source documentation
A finite alternating path can be rotated between its endpoint types.
theorem comp_relStar_rotate {α β : Type*} (A : SetRel α β) (B : SetRel β α) : A ○ relStar (B ○ A) = relStar (A ○ B) ○ A := by …Mentions: OAI.TwoWayComplementation.relStar
- theorem
OAI.TwoWayComplementation.relComp_unionline 145 - theorem
OAI.TwoWayComplementation.union_relCompline 151 - theorem
OAI.TwoWayComplementation.relStar_unfoldline 157 - theorem
OAI.TwoWayComplementation.relStar_block_forwardline 171Source documentation
Eliminating two internal boundaries in either order gives the same through relation.
theorem relStar_block_forward {α : Type*} (A B C D : SetRel α α) : relStar (A ∪ (B ○ relStar D ○ C)) ○ B ○ relStar D = relStar A ○ B ○ relStar (D ∪ (C ○ relStar A ○ B)) := by …Mentions: OAI.TwoWayComplementation.relStar
- theorem
OAI.TwoWayComplementation.relStar_block_returnline 179Source documentation
The corresponding return relation when eliminating two internal boundaries.
theorem relStar_block_return {α : Type*} (A B C D : SetRel α α) : relStar (A ∪ (B ○ relStar D ○ C)) = relStar A ∪ (relStar A ○ B ○ relStar (D ∪ (C ○ relStar A ○ B)) ○ C ○ relStar A) := by …Mentions: OAI.TwoWayComplementation.relStar
- theorem
OAI.TwoWayComplementation.relStar_comp_unfoldline 191 - theorem
OAI.TwoWayComplementation.relStar_block_exitline 197 - theorem
OAI.TwoWayComplementation.relStar_lost_edgeline 221Source documentation
A path lost after an edge replacement contains a lost edge between old path segments.
theorem relStar_lost_edge {α : Type*} (R S : SetRel α α) {x y : α} (hxy : (x, y) ∈ relStar R) (hnot : (x, y) ∉ relStar S) : ∃ a b, (x, a) ∈ relStar R ∧ (a, b) ∈ R ∧ (a, b) ∉ S ∧ (b, y) ∈ relStar R := by …Mentions: OAI.TwoWayComplementation.relStar
- theorem
OAI.TwoWayComplementation.feedback_lost_edgeline 235Source documentation
A lost alternating traversal has a lost edge, allowing earlier and later bounces.
theorem feedback_lost_edge {α : Type*} (E E' B : SetRel α α) {x y : α} (hxy : (x, y) ∈ E ○ relStar (B ○ E)) (hnot : (x, y) ∉ E' ○ relStar (B ○ E')) : ∃ a b, (x, a) ∈ relStar (E ○ B) ∧ (a, b) ∈ E ∧ (a, b) ∉ E' ∧ (b, y) ∈ relStar (B ○ E) := by …Mentions: OAI.TwoWayComplementation.relStar
- theorem
OAI.TwoWayComplementation.feedback_insertline 253 - theorem
OAI.TwoWayComplementation.weighted_class_boundline 258Source documentation
A bound for weighted classes with integer weights one and two.
theorem weighted_class_bound {α β : Type*} (X M : Finset α) (Y : Finset β) (R : β → α → Prop) (hM : M ⊆ X) (hunique : ∀ y ∈ Y, ∀ z ∈ Y, ∀ x ∈ X, R y x → R z x → y = z) (hcover : ∀ y ∈ Y, (∃ x ∈ X, x ∉ M ∧ R y x) ∨ ∃ x ∈ X, ∃ z ∈ X, x ≠ z ∧ R y x ∧ R y z) : 2 * Y.card + M.card ≤ 2 * X.card := by … - theorem
OAI.TwoWayComplementation.idempotent_relation_factorline 318Source documentation
Every edge of a finite idempotent relation factors through a recurrent point.
theorem idempotent_relation_factor {α : Type*} [Finite α] (P : SetRel α α) (hP : P ○ P = P) {u v : α} (huv : (u, v) ∈ P) : ∃ p, (u, p) ∈ P ∧ (p, p) ∈ P ∧ (p, v) ∈ P := by …