Module docstring
{"# Relations holding pairwise
This file defines pairwise relations.
Main declarations
Pairwise:Pairwise rstates thatr i jfor alli ≠ j.Set.Pairwise:s.Pairwise rstates thatr i jfor alli ≠ jwithi, j ∈ s. "}
{"# Relations holding pairwise
This file defines pairwise relations.
Pairwise: Pairwise r states that r i j for all i ≠ j.Set.Pairwise: s.Pairwise r states that r i j for all i ≠ j with i, j ∈ s.
"}Pairwise
definition
(r : α → α → Prop)
Pairwise.mono
theorem
(hr : Pairwise r) (h : ∀ ⦃i j⦄, r i j → p i j) : Pairwise p
theorem Pairwise.mono (hr : Pairwise r) (h : ∀ ⦃i j⦄, r i j → p i j) : Pairwise p :=
fun _i _j hij => h <| hr hij
Pairwise.eq
theorem
(h : Pairwise r) : ¬r a b → a = b
protected theorem Pairwise.eq (h : Pairwise r) : ¬r a b → a = b :=
not_imp_comm.1 <| @h _ _
Subsingleton.pairwise
theorem
[Subsingleton α] : Pairwise r
protected lemma Subsingleton.pairwise [Subsingleton α] : Pairwise r :=
fun _ _ h ↦ False.elim <| h.elim <| Subsingleton.elim _ _
Function.injective_iff_pairwise_ne
theorem
: Injective f ↔ Pairwise ((· ≠ ·) on f)
theorem Function.injective_iff_pairwise_ne : InjectiveInjective f ↔ Pairwise ((· ≠ ·) on f) :=
forall₂_congr fun _i _j => not_imp_not.symm
Pairwise.comp_of_injective
theorem
(hr : Pairwise r) {f : β → α} (hf : Injective f) : Pairwise (r on f)
Pairwise.of_comp_of_surjective
theorem
{f : β → α} (hr : Pairwise (r on f)) (hf : Surjective f) : Pairwise r
lemma Pairwise.of_comp_of_surjective {f : β → α} (hr : Pairwise (r on f)) (hf : Surjective f) :
Pairwise r := hf.forall₂.2 fun _ _ h ↦ hr <| ne_of_apply_ne f h
Function.Bijective.pairwise_comp_iff
theorem
{f : β → α} (hf : Bijective f) : Pairwise (r on f) ↔ Pairwise r
lemma Function.Bijective.pairwise_comp_iff {f : β → α} (hf : Bijective f) :
PairwisePairwise (r on f) ↔ Pairwise r :=
⟨fun hr ↦ hr.of_comp_of_surjective hf.surjective, fun hr ↦ hr.comp_of_injective hf.injective⟩
Set.Pairwise
definition
(s : Set α) (r : α → α → Prop)
Set.pairwise_of_forall
theorem
(s : Set α) (r : α → α → Prop) (h : ∀ a b, r a b) : s.Pairwise r
theorem pairwise_of_forall (s : Set α) (r : α → α → Prop) (h : ∀ a b, r a b) : s.Pairwise r :=
fun a _ b _ _ => h a b
Set.Pairwise.imp_on
theorem
(h : s.Pairwise r) (hrp : s.Pairwise fun ⦃a b : α⦄ => r a b → p a b) : s.Pairwise p
theorem Pairwise.imp_on (h : s.Pairwise r) (hrp : s.Pairwise fun ⦃a b : α⦄ => r a b → p a b) :
s.Pairwise p :=
fun _a ha _b hb hab => hrp ha hb hab <| h ha hb hab
Set.Pairwise.imp
theorem
(h : s.Pairwise r) (hpq : ∀ ⦃a b : α⦄, r a b → p a b) : s.Pairwise p
theorem Pairwise.imp (h : s.Pairwise r) (hpq : ∀ ⦃a b : α⦄, r a b → p a b) : s.Pairwise p :=
h.imp_on <| pairwise_of_forall s _ hpq
Set.Pairwise.eq
theorem
(hs : s.Pairwise r) (ha : a ∈ s) (hb : b ∈ s) (h : ¬r a b) : a = b
protected theorem Pairwise.eq (hs : s.Pairwise r) (ha : a ∈ s) (hb : b ∈ s) (h : ¬r a b) : a = b :=
of_not_not fun hab => h <| hs ha hb hab
Reflexive.set_pairwise_iff
theorem
(hr : Reflexive r) : s.Pairwise r ↔ ∀ ⦃a⦄, a ∈ s → ∀ ⦃b⦄, b ∈ s → r a b
theorem _root_.Reflexive.set_pairwise_iff (hr : Reflexive r) :
s.Pairwise r ↔ ∀ ⦃a⦄, a ∈ s → ∀ ⦃b⦄, b ∈ s → r a b :=
forall₄_congr fun a _ _ _ => or_iff_not_imp_left.symm.trans <| or_iff_right_of_imp <| Eq.ndrec <|
hr a
Set.Pairwise.on_injective
theorem
(hs : s.Pairwise r) (hf : Function.Injective f) (hfs : ∀ x, f x ∈ s) : Pairwise (r on f)
theorem Pairwise.on_injective (hs : s.Pairwise r) (hf : Function.Injective f) (hfs : ∀ x, f x ∈ s) :
Pairwise (r on f) := fun i j hij => hs (hfs i) (hfs j) (hf.ne hij)
Pairwise.set_pairwise
theorem
(h : Pairwise r) (s : Set α) : s.Pairwise r
theorem Pairwise.set_pairwise (h : Pairwise r) (s : Set α) : s.Pairwise r := fun _ _ _ _ w => h w