OAI/SetTheory/PartitionConsistency/Algebra/MergerWords.lean
74 declarations, 0 contain sorry, 0 declared as axioms
- lemma
OAI.PartitionConsistency.DiagramOrder.pair_lub_iffline 11 - lemma
OAI.PartitionConsistency.DiagramOrder.LeftDivOrder.le_iff_dvdline 17 - lemma
OAI.PartitionConsistency.DiagramOrder.exists_cone_joinline 21 - theorem
OAI.PartitionConsistency.DiagramOrder.left_mul_dvd_iffline 35Source documentation
Cancellation for right divisibility in a left-cancellative monoid.
theorem left_mul_dvd_iff {M : Type*} [LeftCancelMonoid M] (a x y : M) : a * x ∣ a * y ↔ x ∣ y := by … - theorem
OAI.PartitionConsistency.DiagramOrder.exists_cone_residualline 45Source documentation
A nonempty inverse image of a principal right cone under left multiplication is principal. Its initial element is the right quotient of the conditional join.
theorem exists_cone_residual {M : Type*} [LeftCancelMonoid M] (hM : ∀ x y a : M, x ∣ a → y ∣ a → ∃ j : M, ∀ b : M, x ∣ b ∧ y ∣ b ↔ j ∣ b) (x a c : M) (hc : x ∣ a * c) : ∃ r : M, ∀ t : M, x ∣ a * t ↔ r ∣ t := by … - class
OAI.PartitionConsistency.MergerAlgebra.RightFreeActionline 66Source documentation
A right action in which each orbit map is injective. This is the property of the prescribed quotient of copies used in the merger normal forms. It does not posit the existence of any monoid extension.
class RightFreeAction (M : Type u) (D : Type v) [Monoid M] where …
- def
OAI.PartitionConsistency.MergerAlgebra.RightFreeAction.Reachesline 76Source documentation
The right divisibility relation on a right monoid-set.
def Reaches (M : Type u) {D : Type v} [Monoid M] [RightFreeAction M D] (z w : D) : Prop := ∃ m : M, act z m = wMentions: OAI.PartitionConsistency.MergerAlgebra.RightFreeAction
- theorem
OAI.PartitionConsistency.MergerAlgebra.RightFreeAction.reaches_reflline 79 - theorem
OAI.PartitionConsistency.MergerAlgebra.RightFreeAction.reaches_transline 81 - def
OAI.PartitionConsistency.MergerAlgebra.RightFreeAction.HasConeJoinsline 88Source documentation
Conditional joins expressed as exact intersections of right cones.
def HasConeJoins (M : Type u) (D : Type v) [Monoid M] [RightFreeAction M D] : Prop := …
Mentions: OAI.PartitionConsistency.MergerAlgebra.RightFreeAction
- inductive
OAI.PartitionConsistency.MergerAlgebra.Wordline 96Source documentation
The literal normal forms
x z₁ ... zⱼof equationeq:mono-merger-forms; words with no new letter are the old monoid.inductive Word (M : Type u) (D : Type v) where …
- def
OAI.PartitionConsistency.MergerAlgebra.Word.actline 105Source documentation
Multiplication on the right by an old element acts only on the last new letter (or on the old coefficient, if no new letter is present).
def act : Word M D → M → Word M D | old x, y => old (x * y) | snoc w z, y => snoc w (RightFreeAction.act z y)
- theorem
OAI.PartitionConsistency.MergerAlgebra.Word.act_oneline 109 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.act_mulline 112 - def
OAI.PartitionConsistency.MergerAlgebra.Word.productline 118Source documentation
Concatenation, absorbing the leading old coefficient of the second normal form into the last letter of the first.
def product (x : Word M D) : Word M D → Word M D | old y => act x y | snoc y z => snoc (product x y) z
Mentions: OAI.PartitionConsistency.MergerAlgebra.Word, OAI.PartitionConsistency.MergerAlgebra.Word.act
- theorem
OAI.PartitionConsistency.MergerAlgebra.Word.product_actline 122 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.product_assocline 128 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.old_one_productline 134 - instance
OAI.PartitionConsistency.MergerAlgebra.Word.(instance at line 139)line 139 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.mul_oldline 146 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.mul_snocline 147 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.old_mul_oldline 149 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.snoc_mul_oldline 151 - def
OAI.PartitionConsistency.MergerAlgebra.Word.lengthline 155Source documentation
Number of new letters, used to distinguish old from genuinely new words.
def length : Word M D → ℕ | old _ => 0 | snoc w _ => length w + 1 omit [Monoid M] [RightFreeAction M D] in
Mentions: OAI.PartitionConsistency.MergerAlgebra.Word, OAI.PartitionConsistency.MergerAlgebra.RightFreeAction
- theorem
OAI.PartitionConsistency.MergerAlgebra.Word.length_oldline 160 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.length_snocline 162 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.length_actline 164 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.length_mulline 167 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.length_zero_iffline 173 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.act_injectiveline 179 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.product_left_cancelline 190Source documentation
Left cancellation is proved from the displayed normal forms. Right cancellation is neither used nor asserted.
theorem product_left_cancel (x : Word M D) {y z : Word M D} (h : x * y = x * z) : y = z := by … - instance
OAI.PartitionConsistency.MergerAlgebra.Word.(instance at line 210)line 210 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.factors_of_oldline 217Source documentation
Letter count prevents a new word from acquiring an old right multiple. It also identifies the old right factor, rather than just reflecting order.
theorem factors_of_old {x y : Word M D} {a : M} (h : x * y = old a) : ∃ b c : M, x = old b ∧ y = old c ∧ b * c = a := by … - instance
OAI.PartitionConsistency.MergerAlgebra.Word.(instance at line 225)line 225 - def
OAI.PartitionConsistency.MergerAlgebra.Word.oldHomline 232Source documentation
The old monoid embeds by words with no new letters.
def oldHom : M →* Word M D where …
- theorem
OAI.PartitionConsistency.MergerAlgebra.Word.oldHom_injectiveline 237 - def
OAI.PartitionConsistency.MergerAlgebra.Word.leadingline 240Source documentation
The leading old coefficient of the normal form.
def leading : Word M D → M | old x => x | snoc w _ => leading w omit [Monoid M] [RightFreeAction M D] in
Mentions: OAI.PartitionConsistency.MergerAlgebra.Word, OAI.PartitionConsistency.MergerAlgebra.RightFreeAction
- theorem
OAI.PartitionConsistency.MergerAlgebra.Word.leading_oldline 245 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.leading_snocline 247 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.leading_old_mulline 250 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.old_dvd_iffline 257Source documentation
Old divisors are read solely from the old leading coefficient.
theorem old_dvd_iff (x : M) (w : Word M D) : old x ∣ w ↔ x ∣ leading w := by …Mentions: OAI.PartitionConsistency.MergerAlgebra.Word, OAI.PartitionConsistency.MergerAlgebra.Word.leading
- theorem
OAI.PartitionConsistency.MergerAlgebra.Word.old_common_multiple_iffline 273Source documentation
Comparisons and common-right-multiple calculations on old entries are unchanged in the extension, including the absence of a common multiple.
theorem old_common_multiple_iff (x y : M) : (∃ w : Word M D, old x ∣ w ∧ old y ∣ w) ↔ ∃ a : M, x ∣ a ∧ y ∣ a := by … - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.preserve_old_cone_intersectionline 283Source documentation
The entire right-cone equation for any old conditional join is preserved, not just comparisons among old elements.
theorem preserve_old_cone_intersection (x y j : M) (hj : ∀ a : M, x ∣ a ∧ y ∣ a ↔ j ∣ a) (w : Word M D) : old x ∣ w ∧ old y ∣ w ↔ old j ∣ w := by … - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.dvd_snoc_iffline 290Source documentation
Dividing a normal form with one more letter means either dividing its prefix, or having precisely that prefix and advancing the last new letter.
theorem dvd_snoc_iff (x w : Word M D) (d : D) : x ∣ snoc w d ↔ x ∣ w ∨ ∃ z, x = snoc w z ∧ RightFreeAction.Reaches M z d := by …Mentions: OAI.PartitionConsistency.MergerAlgebra.Word, OAI.PartitionConsistency.MergerAlgebra.RightFreeAction.Reaches
- theorem
OAI.PartitionConsistency.MergerAlgebra.Word.length_le_of_dvdline 306 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.snoc_not_dvd_prefixline 311 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.snoc_not_dvd_oldline 317 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.snoc_dvd_snoc_iffline 323 - theorem
OAI.PartitionConsistency.MergerAlgebra.Word.snoc_cone_intersectionline 338Source documentation
With a fixed prefix, the intersection of two word cones is exactly controlled by the intersection of the final-letter cones in the right set.
theorem snoc_cone_intersection (w : Word M D) (z t j : D) (hj : ∀ d : D, RightFreeAction.Reaches M z d ∧ RightFreeAction.Reaches M t d ↔ RightFreeAction.Reaches M j d) (a : Word M D) : snoc w z ∣ a ∧ snoc w t ∣ a ↔ snoc w j ∣ a := by …Mentions: OAI.PartitionConsistency.MergerAlgebra.Word, OAI.PartitionConsistency.MergerAlgebra.RightFreeAction.Reaches
- theorem
OAI.PartitionConsistency.MergerAlgebra.Word.exists_cone_joinline 353Source documentation
Conditional joins for all normal forms, not only for translated copies. The induction is on the normal form of a common upper bound.
theorem exists_cone_join (hM : ∀ x y a : M, x ∣ a → y ∣ a → ∃ j : M, ∀ b : M, x ∣ b ∧ y ∣ b ↔ j ∣ b) (hD : RightFreeAction.HasConeJoins M D) (x y a : Word M D) (hx : x ∣ a) (hy : y ∣ a) : ∃ j : Word M D, ∀ b : Word M D, x ∣ b ∧ y ∣ b ↔ j ∣ b := by …Mentions: OAI.PartitionConsistency.MergerAlgebra.RightFreeAction.HasConeJoins, OAI.PartitionConsistency.MergerAlgebra.Word
- theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.rel_mulline 387Source documentation
Right multiplication respects the pair identifications themselves. No extra transitive closure is taken.
theorem rel_mul (P : OverlapPrescription M n) {z w : Fin n × M} (h : P.Rel z w) (m : M) : P.Rel (z.1, z.2 * m) (w.1, w.2 * m) := by …Mentions: OAI.PartitionConsistency.DiagramForcing.OverlapPrescription
- def
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.copySetoidline 408Source documentation
The quotient of the finitely many prescribed copies. Validity, rather than an equivalence closure, provides its setoid.
def copySetoid (P : OverlapPrescription M n) (hP : P.Valid) : Setoid (Fin n × M) := …
Mentions: OAI.PartitionConsistency.DiagramForcing.OverlapPrescription
- def
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.Copiesline 411 - def
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.copyline 413 - theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.copy_eq_iffline 416 - theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.copy_injectiveline 420 - def
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.copiesActline 425 - theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.copiesAct_copyline 429 - instance
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.copiesRightFreeActionline 435Source documentation
The injective orbit maps in the prescribed quotient follow from left cancellation within a single original copy.
instance copiesRightFreeAction (P : OverlapPrescription M n) (hP : P.Valid) : MergerAlgebra.RightFreeAction M (P.Copies hP) where …Mentions: OAI.PartitionConsistency.DiagramForcing.OverlapPrescription, OAI.PartitionConsistency.MergerAlgebra.RightFreeAction
- theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.reaches_copy_iffline 459 - theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.reaches_same_copy_iffline 463 - theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.same_copy_cone_intersectionline 473 - theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.overlap_cone_intersectionline 492Source documentation
Intersections from different copies must pass through exactly the specified overlap: validity ensures that the quotient adds no other equality.
theorem overlap_cone_intersection (P : OverlapPrescription M n) (hP : P.Valid) {i j : Fin n} (hij : i ≠ j) {a b : M} (hab : P.start i j = some (a, b)) (x y : M) (z : P.Copies hP) : Reaches M (P.copy hP i x) z ∧ Reaches M (P.copy hP j y) z ↔ ∃ t : M, x ∣ a * t ∧ y ∣ b * t ∧ z = P.copy hP i (a * t) := by …Mentions: OAI.PartitionConsistency.DiagramForcing.OverlapPrescription
- theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.copies_hasConeJoinsline 517Source documentation
Conditional joins in the actual prescribed quotient of copies. The sequential joins and their right quotients are constructed using only old conditional joins; failing any one of them means there was no common upper bound in the first place.
theorem copies_hasConeJoins (P : OverlapPrescription M n) (hP : P.Valid) (hM : ∀ x y a : M, x ∣ a → y ∣ a → ∃ j : M, ∀ b : M, x ∣ b ∧ y ∣ b ↔ j ∣ b) : HasConeJoins M (P.Copies hP) := by …Mentions: OAI.PartitionConsistency.DiagramForcing.OverlapPrescription
- abbrev
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.Mergerline 564Source documentation
The extension is constructed, not postulated: its elements are the normal forms over the actual prescribed quotient.
abbrev Merger (P : OverlapPrescription M n) (hP : P.Valid) := …
Mentions: OAI.PartitionConsistency.DiagramForcing.OverlapPrescription
- def
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.rootline 568Source documentation
The new roots which merge the original copies.
def root (P : OverlapPrescription M n) (hP : P.Valid) (i : Fin n) : P.Merger hP := …
Mentions: OAI.PartitionConsistency.DiagramForcing.OverlapPrescription
- theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.root_mul_oldline 571 - theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.root_mul_eq_iffline 580Source documentation
Exact realization of the given valid overlap prescription by left translations. The right-hand side is the original pair relation, not its transitive closure; no extra overlap is introduced.
theorem root_mul_eq_iff (P : OverlapPrescription M n) (hP : P.Valid) (z w : Fin n × M) : P.root hP z.1 * .old z.2 = P.root hP w.1 * .old w.2 ↔ P.Rel z w := by …Mentions: OAI.PartitionConsistency.DiagramForcing.OverlapPrescription
- theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.root_not_oldline 587Source documentation
New roots are genuinely new elements, even if an overlap identifies two of them with one another.
theorem root_not_old (P : OverlapPrescription M n) (hP : P.Valid) (i : Fin n) (x : M) : P.root hP i ≠ .old x := by …Mentions: OAI.PartitionConsistency.DiagramForcing.OverlapPrescription
- theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.merger_hasConditionalJoinsline 592Source documentation
All conditional joins in the constructed finite-copy merger.
theorem merger_hasConditionalJoins [DiagramOrder.IsConical M] (P : OverlapPrescription M n) (hP : P.Valid) (hM : DiagramOrder.HasConditionalJoins (DiagramOrder.LeftDivOrder M)) : DiagramOrder.HasConditionalJoins (DiagramOrder.LeftDivOrder (P.Merger hP)) := by …Mentions: OAI.PartitionConsistency.DiagramOrder.IsConical, OAI.PartitionConsistency.DiagramForcing.OverlapPrescription, OAI.PartitionConsistency.DiagramOrder.HasConditionalJoins, OAI.PartitionConsistency.DiagramOrder.LeftDivOrder
- def
OAI.PartitionConsistency.MergerAlgebra.Word.lettersline 621Source documentation
Finite coding of a normal form; only the existing coefficient and finitely many quotient letters are needed.
def letters : Word M D → List D | old _ => [] | snoc w z => z :: letters w /-- The normal-form encoding is injective, so no presentation-sized collection beyond finite strings is required. -/
- theorem
OAI.PartitionConsistency.MergerAlgebra.Word.code_injectiveline 627Source documentation
The normal-form encoding is injective, so no presentation-sized collection beyond finite strings is required.
theorem code_injective : Function.Injective (fun w : Word M D => (leading w, letters w)) := by …
Mentions: OAI.PartitionConsistency.MergerAlgebra.Word, OAI.PartitionConsistency.MergerAlgebra.Word.leading, OAI.PartitionConsistency.MergerAlgebra.Word.letters
- theorem
OAI.PartitionConsistency.MergerAlgebra.Word.cardinal_leline 648Source documentation
The scheduling bound for the normal forms.
theorem cardinal_le {μ : Cardinal.{u}} (hω : Cardinal.aleph0 ≤ μ) (hM : Cardinal.mk M ≤ μ) (hD : Cardinal.mk D ≤ μ) : Cardinal.mk (Word M D) ≤ μ := by … - theorem
OAI.PartitionConsistency.DiagramForcing.OverlapPrescription.merger_cardinal_leline 666Source documentation
A finite-copy merger preserves the source's infinite cardinal bound.
theorem merger_cardinal_le (P : OverlapPrescription M n) (hP : P.Valid) {μ : Cardinal.{u}} (hω : Cardinal.aleph0 ≤ μ) (hM : Cardinal.mk M ≤ μ) : Cardinal.mk (P.Merger hP) ≤ μ := by …Mentions: OAI.PartitionConsistency.DiagramForcing.OverlapPrescription