Documentation

Foundation.Vorspiel.Geach

def GeachConfluent {α : Type u_1} (t : GeachConfluent.Taple) (R : Rel α α) :
Equations
  • GeachConfluent t R = ∀ {x y z : α}, R.iterate t.i x y R.iterate t.j x z∃ (u : α), R.iterate t.m y u R.iterate t.n z u
theorem GeachConfluent.serial_def {α : Type u_1} {rel : Rel α α} :
Serial rel GeachConfluent { i := 0, j := 0, m := 1, n := 1 } rel
theorem GeachConfluent.reflexive_def {α : Type u_1} {rel : Rel α α} :
Reflexive rel GeachConfluent { i := 0, j := 0, m := 1, n := 0 } rel
theorem GeachConfluent.symmetric_def {α : Type u_1} {rel : Rel α α} :
Symmetric rel GeachConfluent { i := 0, j := 1, m := 0, n := 1 } rel
theorem GeachConfluent.transitive_def {α : Type u_1} {rel : Rel α α} :
Transitive rel GeachConfluent { i := 0, j := 2, m := 1, n := 0 } rel
theorem GeachConfluent.euclidean_def {α : Type u_1} {rel : Rel α α} :
Euclidean rel GeachConfluent { i := 1, j := 1, m := 0, n := 1 } rel
theorem GeachConfluent.confluent_def {α : Type u_1} {rel : Rel α α} :
Confluent rel GeachConfluent { i := 1, j := 1, m := 1, n := 1 } rel
theorem GeachConfluent.extensive_def {α : Type u_1} {rel : Rel α α} :
Coreflexive rel GeachConfluent { i := 0, j := 1, m := 0, n := 0 } rel
theorem GeachConfluent.functional_def {α : Type u_1} {rel : Rel α α} :
Functional rel GeachConfluent { i := 1, j := 1, m := 0, n := 0 } rel
theorem GeachConfluent.dense_def {α : Type u_1} {rel : Rel α α} :
Dense rel GeachConfluent { i := 0, j := 1, m := 2, n := 0 } rel
@[simp]
theorem GeachConfluent.satisfies_eq {α : Type u_1} {t : Taple} :
GeachConfluent t fun (x1 x2 : α) => x1 = x2
@[simp]
theorem MultiGeachConfluent.iff_nil {α : Type u_1} {rel : Rel α α} :
@[simp]
@[simp]
theorem MultiGeachConfluent.satisfies_eq {α : Type u_1} {ts : List GeachConfluent.Taple} :
MultiGeachConfluent ts fun (x1 x2 : α) => x1 = x2