Metamath Proof Explorer


Theorem tosso

Description: Write the totally ordered set structure predicate in terms of the proper class strict order predicate. (Contributed by Mario Carneiro, 8-Feb-2015)

Ref Expression
Hypotheses tosso.b 𝐵 = ( Base ‘ 𝐾 )
tosso.l = ( le ‘ 𝐾 )
tosso.s < = ( lt ‘ 𝐾 )
Assertion tosso ( 𝐾𝑉 → ( 𝐾 ∈ Toset ↔ ( < Or 𝐵 ∧ ( I ↾ 𝐵 ) ⊆ ) ) )

Proof

Step Hyp Ref Expression
1 tosso.b 𝐵 = ( Base ‘ 𝐾 )
2 tosso.l = ( le ‘ 𝐾 )
3 tosso.s < = ( lt ‘ 𝐾 )
4 1 2 3 pleval2 ( ( 𝐾 ∈ Poset ∧ 𝑥𝐵𝑦𝐵 ) → ( 𝑥 𝑦 ↔ ( 𝑥 < 𝑦𝑥 = 𝑦 ) ) )
5 4 3expb ( ( 𝐾 ∈ Poset ∧ ( 𝑥𝐵𝑦𝐵 ) ) → ( 𝑥 𝑦 ↔ ( 𝑥 < 𝑦𝑥 = 𝑦 ) ) )
6 1 2 3 pleval2 ( ( 𝐾 ∈ Poset ∧ 𝑦𝐵𝑥𝐵 ) → ( 𝑦 𝑥 ↔ ( 𝑦 < 𝑥𝑦 = 𝑥 ) ) )
7 equcom ( 𝑦 = 𝑥𝑥 = 𝑦 )
8 7 orbi2i ( ( 𝑦 < 𝑥𝑦 = 𝑥 ) ↔ ( 𝑦 < 𝑥𝑥 = 𝑦 ) )
9 6 8 bitrdi ( ( 𝐾 ∈ Poset ∧ 𝑦𝐵𝑥𝐵 ) → ( 𝑦 𝑥 ↔ ( 𝑦 < 𝑥𝑥 = 𝑦 ) ) )
10 9 3com23 ( ( 𝐾 ∈ Poset ∧ 𝑥𝐵𝑦𝐵 ) → ( 𝑦 𝑥 ↔ ( 𝑦 < 𝑥𝑥 = 𝑦 ) ) )
11 10 3expb ( ( 𝐾 ∈ Poset ∧ ( 𝑥𝐵𝑦𝐵 ) ) → ( 𝑦 𝑥 ↔ ( 𝑦 < 𝑥𝑥 = 𝑦 ) ) )
12 5 11 orbi12d ( ( 𝐾 ∈ Poset ∧ ( 𝑥𝐵𝑦𝐵 ) ) → ( ( 𝑥 𝑦𝑦 𝑥 ) ↔ ( ( 𝑥 < 𝑦𝑥 = 𝑦 ) ∨ ( 𝑦 < 𝑥𝑥 = 𝑦 ) ) ) )
13 df-3or ( ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ↔ ( ( 𝑥 < 𝑦𝑥 = 𝑦 ) ∨ 𝑦 < 𝑥 ) )
14 or32 ( ( ( 𝑥 < 𝑦𝑥 = 𝑦 ) ∨ 𝑦 < 𝑥 ) ↔ ( ( 𝑥 < 𝑦𝑦 < 𝑥 ) ∨ 𝑥 = 𝑦 ) )
15 orordir ( ( ( 𝑥 < 𝑦𝑦 < 𝑥 ) ∨ 𝑥 = 𝑦 ) ↔ ( ( 𝑥 < 𝑦𝑥 = 𝑦 ) ∨ ( 𝑦 < 𝑥𝑥 = 𝑦 ) ) )
16 14 15 bitri ( ( ( 𝑥 < 𝑦𝑥 = 𝑦 ) ∨ 𝑦 < 𝑥 ) ↔ ( ( 𝑥 < 𝑦𝑥 = 𝑦 ) ∨ ( 𝑦 < 𝑥𝑥 = 𝑦 ) ) )
17 13 16 bitri ( ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ↔ ( ( 𝑥 < 𝑦𝑥 = 𝑦 ) ∨ ( 𝑦 < 𝑥𝑥 = 𝑦 ) ) )
18 12 17 bitr4di ( ( 𝐾 ∈ Poset ∧ ( 𝑥𝐵𝑦𝐵 ) ) → ( ( 𝑥 𝑦𝑦 𝑥 ) ↔ ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ) )
19 18 2ralbidva ( 𝐾 ∈ Poset → ( ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝑦𝑦 𝑥 ) ↔ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ) )
20 19 pm5.32i ( ( 𝐾 ∈ Poset ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝑦𝑦 𝑥 ) ) ↔ ( 𝐾 ∈ Poset ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ) )
21 1 2 3 pospo ( 𝐾𝑉 → ( 𝐾 ∈ Poset ↔ ( < Po 𝐵 ∧ ( I ↾ 𝐵 ) ⊆ ) ) )
22 21 anbi1d ( 𝐾𝑉 → ( ( 𝐾 ∈ Poset ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ) ↔ ( ( < Po 𝐵 ∧ ( I ↾ 𝐵 ) ⊆ ) ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ) ) )
23 20 22 syl5bb ( 𝐾𝑉 → ( ( 𝐾 ∈ Poset ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝑦𝑦 𝑥 ) ) ↔ ( ( < Po 𝐵 ∧ ( I ↾ 𝐵 ) ⊆ ) ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ) ) )
24 1 2 istos ( 𝐾 ∈ Toset ↔ ( 𝐾 ∈ Poset ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 𝑦𝑦 𝑥 ) ) )
25 df-so ( < Or 𝐵 ↔ ( < Po 𝐵 ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ) )
26 25 anbi1i ( ( < Or 𝐵 ∧ ( I ↾ 𝐵 ) ⊆ ) ↔ ( ( < Po 𝐵 ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ) ∧ ( I ↾ 𝐵 ) ⊆ ) )
27 an32 ( ( ( < Po 𝐵 ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ) ∧ ( I ↾ 𝐵 ) ⊆ ) ↔ ( ( < Po 𝐵 ∧ ( I ↾ 𝐵 ) ⊆ ) ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ) )
28 26 27 bitri ( ( < Or 𝐵 ∧ ( I ↾ 𝐵 ) ⊆ ) ↔ ( ( < Po 𝐵 ∧ ( I ↾ 𝐵 ) ⊆ ) ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥 < 𝑦𝑥 = 𝑦𝑦 < 𝑥 ) ) )
29 23 24 28 3bitr4g ( 𝐾𝑉 → ( 𝐾 ∈ Toset ↔ ( < Or 𝐵 ∧ ( I ↾ 𝐵 ) ⊆ ) ) )