def
relator.lift_fun
{α : Sort u₁}
{β : Sort u₂}
{γ : Sort v₁}
{δ : Sort v₂} :
(α → β → Prop) → (γ → δ → Prop) → (α → γ) → (β → δ) → Prop
@[class]
Equations
- relator.right_total R = ∀ (b : β), ∃ (a : α), R a b
@[class]
Equations
- relator.left_total R = ∀ (a : α), ∃ (b : β), R a b
@[class]
Equations
Instances
@[class]
Equations
- relator.left_unique R = ∀ {a : α} {b : β} {c : α}, R a b → R c b → a = c
@[class]
Equations
- relator.right_unique R = ∀ {a : α} {b c : β}, R a b → R a c → b = c
theorem
relator.rel_forall_of_right_total
{α : Type u₁}
{β : Type u₂}
(R : α → β → Prop)
[t : relator.right_total R] :
theorem
relator.rel_exists_of_left_total
{α : Type u₁}
{β : Type u₂}
(R : α → β → Prop)
[t : relator.left_total R] :
theorem
relator.rel_forall_of_total
{α : Type u₁}
{β : Type u₂}
(R : α → β → Prop)
[t : relator.bi_total R] :
theorem
relator.rel_exists_of_total
{α : Type u₁}
{β : Type u₂}
(R : α → β → Prop)
[t : relator.bi_total R] :
theorem
relator.left_unique_of_rel_eq
{α : Type u₁}
{β : Type u₂}
(R : α → β → Prop)
{eq' : β → β → Prop} :
(R ⇒ R ⇒ iff) eq eq' → relator.left_unique R
@[instance]