Relation #
Heterogeneous relations #
converse is flip
Equations
- Relation.«term_ᵀ» = Lean.ParserDescr.trailingNode `Relation.«term_ᵀ» 1050 0 (Lean.ParserDescr.symbol "ᵀ")
Instances For
Double composition of r of the converse of s
Equations
- Relation.Domp r s = Relation.Comp r (Relation.Comp (flip s) r)
Instances For
theorem Relation.left_total {α : Type u_1} {β : Type u_2} (r : α → β → Prop) [IsLeftTotal r] (a : α) :
∃ (x : β), r a x
@[simp]
theorem Relation.right_total {α : Type u_1} {β : Type u_2} (r : α → β → Prop) [IsRightTotal r] (x : β) :
∃ (a : α), r a x
@[simp]
class Relation.IsTotal {α : Type u_1} {β : Type u_2} (r : α → β → Prop) extends Relation.IsLeftTotal r, Relation.IsRightTotal r :
Instances
theorem Relation.left_unique {α : Type u_1} {β : Type u_2} (r : α → β → Prop) [IsLeftUnique r] (a : α) (x y : β) :
r a x → r a y → x = y
theorem Relation.right_unique {α : Type u_1} {β : Type u_2} (r : α → β → Prop) [IsRightUnique r] (a b : α) (x : β) :
r a x → r b x → a = b
class Relation.IsUnique {α : Type u_1} {β : Type u_2} (r : α → β → Prop) extends Relation.IsLeftUnique r, Relation.IsRightUnique r :
Instances
Equations
Instances For
theorem Relation.fibers_pairwiseDisjoint' {α : Type u_1} {β : Type u_2} {r : α → β → Prop} [IsLeftUnique r] :
(fibers r).PairwiseDisjoint id
theorem Relation.fibers_pairwiseDisjoint {α : Type u_1} {β : Type u_2} {r : α → β → Prop} [Dompeq r r] :
(fibers r).PairwiseDisjoint id
@[instance_reducible]
Equations
- Relation.instHasSubsetForallForallProp_matroid = { Subset := fun (r s : α → β → Prop) => Relation.fibers r ⊆ Relation.fibers s }
instance Relation.instIsPreorderForallForallPropSubset_matroid {α : Type u_1} {β : Type u_2} :
IsPreorder (α → β → Prop) fun (x1 x2 : α → β → Prop) => x1 ⊆ x2
def Relation.leftResidual {α : Type u_1} {β : Type u_2} {γ : Type u_3} (r : α → β → Prop) (s : α → γ → Prop) :
β → γ → Prop
Equations
- Relation.leftResidual r s = (Relation.Comp (flip r) sᶜ)ᶜ
Instances For
def Relation.rightResidual {α : Type u_1} {β : Type u_2} {γ : Type u_3} (r : α → β → Prop) (s : γ → β → Prop) :
α → γ → Prop
Equations
- Relation.rightResidual r s = (Relation.Comp rᶜ (flip s))ᶜ
Instances For
instance Relation.instReflOnFun_matroid {α : Type u_1} {β : Type u_2} {f : β → α} {r : α → α → Prop} [Std.Refl r] :
Std.Refl (Function.onFun r f)
instance Relation.instSymmOnFun_matroid {α : Type u_1} {β : Type u_2} {f : β → α} {r : α → α → Prop} [Std.Symm r] :
Std.Symm (Function.onFun r f)
instance Relation.instIsTransOnFun_matroid {α : Type u_1} {β : Type u_2} {f : β → α} {r : α → α → Prop} [IsTrans α r] :
IsTrans β (Function.onFun r f)
instance Relation.instAntisymmFlip_matroid {α : Type u_1} {r : α → α → Prop} [Std.Antisymm r] :
Std.Antisymm (flip r)
instance Relation.instIsPreorderFlip_matroid {α : Type u_1} {r : α → α → Prop} [IsPreorder α r] :
IsPreorder α (flip r)
instance Relation.instIsLinearOrderFlip_matroid {α : Type u_1} {r : α → α → Prop} [IsLinearOrder α r] :
IsLinearOrder α (flip r)
Equations
Instances For
@[simp]
instance Relation.instSymmCoeClosureOperatorForallForallPropSymmClosure {α : Type u_1} {r : α → α → Prop} :
Std.Symm (SymmClosure r)
theorem Relation.SymmClosure.symm {α : Type u_1} {a b : α} {r : α → α → Prop} (hr : SymmClosure r a b) :
SymmClosure r b a
@[simp]
@[simp]
@[simp]
Equations
- Relation.TransClosure = { toFun := Relation.TransGen, monotone' := ⋯, le_closure' := ⋯, idempotent' := ⋯, IsClosed := IsTrans α, isClosed_iff := ⋯ }
Instances For
instance Relation.instIsTransCoeClosureOperatorForallForallPropTransClosure {α : Type u_1} {r : α → α → Prop} :
IsTrans α (TransClosure r)
instance Relation.instSymmCoeClosureOperatorForallForallPropTransClosure {α : Type u_1} {r : α → α → Prop} [Std.Symm r] :
Std.Symm (TransClosure r)
@[simp]
theorem Relation.transClosure_eq_self_of_le_eq {α : Type u_1} {r : α → α → Prop} (hr : r ≤ fun (x1 x2 : α) => x1 = x2) :
theorem Relation.transClosure_le_of_le_trans {α : Type u_1} {r s : α → α → Prop} (hr : r ≤ s) [IsTrans α s] :
theorem Relation.transClosure_le_domp_of_le_trans {α : Type u_1} {r s : α → α → Prop} (hr : r ≤ s) [IsTrans α s] :
@[simp]
@[simp]
theorem Relation.transClosure_exists_single_head {α : Type u_1} {a b : α} (r : α → α → Prop) (h : TransClosure r a b) :
∃ (c : α), r a c
theorem Relation.transClosure_exists_single_tail {α : Type u_1} {a b : α} (r : α → α → Prop) (h : TransClosure r a b) :
∃ (c : α), r c b
Minimal assumption (that I can think of) for transGen_self_iff.
- isfoo ⦃a b : α⦄ : r a b → r b b
Instances
theorem Relation.refl_of_right {α : Type u_1} {a b : α} {r : α → α → Prop} [foo r] (h : r a b) :
r b b
@[simp]