Relator for functions, pairs, sums, and lists. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
    
def
relator.lift_fun
    {α : Sort u₁}
    {β : Sort u₂}
    {γ : Sort v₁}
    {δ : Sort v₂}
    (R : α → β → Prop)
    (S : γ → δ → Prop)
    (f : α → γ)
    (g : β → δ) :
    
Prop
Equations
- relator.right_total R = ∀ (b : β), ∃ (a : α), R a b
 
Equations
- relator.left_total R = ∀ (a : α), ∃ (b : β), R a b
 
Equations
Equations
- relator.left_unique R = ∀ ⦃a b : α⦄ ⦃c : β⦄, R a c → R b c → a = b
 
Equations
- relator.right_unique R = ∀ ⦃a : α⦄ ⦃b c : β⦄, R a b → R a c → b = c
 
Equations
    
theorem
relator.right_total.rel_forall
    {α : Type u₁}
    {β : Type u₂}
    {R : α → β → Prop}
    (h : relator.right_total R) :
    
theorem
relator.bi_total.rel_forall
    {α : Type u₁}
    {β : Type u₂}
    {R : α → β → Prop}
    (h : relator.bi_total R) :
    
theorem
relator.left_unique_of_rel_eq
    {α : Type u₁}
    {β : Type u₂}
    {R : α → β → Prop}
    {eq' : β → β → Prop}
    (he : (R ⇒ R ⇒ iff) eq eq') :
    
theorem
relator.left_unique.flip
    {α : Type u_1}
    {β : Type u_2}
    {r : α → β → Prop}
    (h : relator.left_unique r) :
    
theorem
relator.rel_eq
    {α : Type u_1}
    {β : Type u_2}
    {r : α → β → Prop}
    (hr : relator.bi_unique r) :