Zulip Chat Archive

Stream: Is there code for X?

Topic: Irreflexive Ne ∧ Symmetric Ne


Snir Broshi (Oct 13 2025 at 21:54):

For Eq there's docs#eq_equivalence, but for Ne I couldn't find proofs that it's irreflexive and symmetric.

Ruben Van de Velde (Oct 13 2025 at 21:59):

As theorems or instances of a particular class?

Ruben Van de Velde (Oct 13 2025 at 21:59):

@loogle Irreflexive

loogle (Oct 13 2025 at 21:59):

:search: Irreflexive, InvImage.irreflexive, and 11 more

Ruben Van de Velde (Oct 13 2025 at 22:00):

Yeah, nothing much there

Snir Broshi (Oct 13 2025 at 22:01):

For instances theres docs#IsIrrefl and docs#IsSymm, but those don't exist for docs#Ne either

Snir Broshi (Oct 13 2025 at 22:05):

If I add this, should I add the class version (IsIrrefl, IsSymm) or the prop version (Irreflexive, Symmetric)?
Eq has both IsEquiv and Equivalence, Iff has only IsEquiv, and Relation.EqvGen has only Equivalence.
Why do we need both versions of all these properties of relations?

Snir Broshi (Oct 13 2025 at 23:19):

Apparently there's also docs#Std.Irrefl and docs#Std.Symm, sigh

Snir Broshi (Oct 13 2025 at 23:20):

but I found docs#Ne.irrefl and docs#Ne.symm, which are close to what i asked

theorem foo1 {α : Type*} : Irreflexive (α := α) Ne := fun _  Ne.irrefl
theorem foo2 {α : Type*} : Symmetric (α := α) Ne := fun _ _  Ne.symm

Ruben Van de Velde (Oct 14 2025 at 06:21):

Yeah, I'm not sure what the status of these structures is


Last updated: Dec 20 2025 at 21:32 UTC