Metamath Proof Explorer


Theorem dfso3

Description: Expansion of the definition of a strict order. (Contributed by Scott Fenton, 6-Jun-2016)

Ref Expression
Assertion dfso3 ( 𝑅 Or 𝐴 ↔ ∀ 𝑥𝐴𝑦𝐴𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) )

Proof

Step Hyp Ref Expression
1 ne0i ( 𝑦𝐴𝐴 ≠ ∅ )
2 r19.27zv ( 𝐴 ≠ ∅ → ( ∀ 𝑧𝐴 ( ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) ↔ ( ∀ 𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) ) )
3 1 2 syl ( 𝑦𝐴 → ( ∀ 𝑧𝐴 ( ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) ↔ ( ∀ 𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) ) )
4 3 ralbiia ( ∀ 𝑦𝐴𝑧𝐴 ( ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) ↔ ∀ 𝑦𝐴 ( ∀ 𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) )
5 4 ralbii ( ∀ 𝑥𝐴𝑦𝐴𝑧𝐴 ( ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) ↔ ∀ 𝑥𝐴𝑦𝐴 ( ∀ 𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) )
6 df-3an ( ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) ↔ ( ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) )
7 6 ralbii ( ∀ 𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) ↔ ∀ 𝑧𝐴 ( ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) )
8 7 2ralbii ( ∀ 𝑥𝐴𝑦𝐴𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) ↔ ∀ 𝑥𝐴𝑦𝐴𝑧𝐴 ( ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) )
9 df-po ( 𝑅 Po 𝐴 ↔ ∀ 𝑥𝐴𝑦𝐴𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) )
10 9 anbi1i ( ( 𝑅 Po 𝐴 ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) ↔ ( ∀ 𝑥𝐴𝑦𝐴𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) )
11 df-so ( 𝑅 Or 𝐴 ↔ ( 𝑅 Po 𝐴 ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) )
12 r19.26-2 ( ∀ 𝑥𝐴𝑦𝐴 ( ∀ 𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) ↔ ( ∀ 𝑥𝐴𝑦𝐴𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) )
13 10 11 12 3bitr4i ( 𝑅 Or 𝐴 ↔ ∀ 𝑥𝐴𝑦𝐴 ( ∀ 𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) )
14 5 8 13 3bitr4ri ( 𝑅 Or 𝐴 ↔ ∀ 𝑥𝐴𝑦𝐴𝑧𝐴 ( ¬ 𝑥 𝑅 𝑥 ∧ ( ( 𝑥 𝑅 𝑦𝑦 𝑅 𝑧 ) → 𝑥 𝑅 𝑧 ) ∧ ( 𝑥 𝑅 𝑦𝑥 = 𝑦𝑦 𝑅 𝑥 ) ) )