Metamath Proof Explorer


Theorem isorng

Description: An ordered ring is a ring with a total ordering compatible with its operations. (Contributed by Thierry Arnoux, 18-Jan-2018)

Ref Expression
Hypotheses isorng.0 ⊢ 𝐵 = ( Base ‘ 𝑅 )
isorng.1 ⊢ 0 = ( 0g ‘ 𝑅 )
isorng.2 ⊢ · = ( .r ‘ 𝑅 )
isorng.3 ⊢ ≤ = ( le ‘ 𝑅 )
Assertion isorng ( 𝑅 ∈ oRing ↔ ( 𝑅 ∈ Ring ∧ 𝑅 ∈ oGrp ∧ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) → 0 ≤ ( 𝑎 · 𝑏 ) ) ) )

Proof

Step Hyp Ref Expression
1 isorng.0 ⊢ 𝐵 = ( Base ‘ 𝑅 )
2 isorng.1 ⊢ 0 = ( 0g ‘ 𝑅 )
3 isorng.2 ⊢ · = ( .r ‘ 𝑅 )
4 isorng.3 ⊢ ≤ = ( le ‘ 𝑅 )
5 elin ⊢ ( 𝑅 ∈ ( Ring ∩ oGrp ) ↔ ( 𝑅 ∈ Ring ∧ 𝑅 ∈ oGrp ) )
6 5 anbi1i ⊢ ( ( 𝑅 ∈ ( Ring ∩ oGrp ) ∧ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) → 0 ≤ ( 𝑎 · 𝑏 ) ) ) ↔ ( ( 𝑅 ∈ Ring ∧ 𝑅 ∈ oGrp ) ∧ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) → 0 ≤ ( 𝑎 · 𝑏 ) ) ) )
7 fvexd ⊢ ( 𝑟 = 𝑅 → ( .r ‘ 𝑟 ) ∈ V )
8 simpr ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑡 = ( .r ‘ 𝑟 ) ) → 𝑡 = ( .r ‘ 𝑟 ) )
9 simpl ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑡 = ( .r ‘ 𝑟 ) ) → 𝑟 = 𝑅 )
10 9 fveq2d ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑡 = ( .r ‘ 𝑟 ) ) → ( .r ‘ 𝑟 ) = ( .r ‘ 𝑅 ) )
11 10 3 eqtr4di ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑡 = ( .r ‘ 𝑟 ) ) → ( .r ‘ 𝑟 ) = · )
12 8 11 eqtrd ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑡 = ( .r ‘ 𝑟 ) ) → 𝑡 = · )
13 12 oveqd ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑡 = ( .r ‘ 𝑟 ) ) → ( 𝑎 𝑡 𝑏 ) = ( 𝑎 · 𝑏 ) )
14 13 breq2d ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑡 = ( .r ‘ 𝑟 ) ) → ( 0 𝑙 ( 𝑎 𝑡 𝑏 ) ↔ 0 𝑙 ( 𝑎 · 𝑏 ) ) )
15 14 imbi2d ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑡 = ( .r ‘ 𝑟 ) ) → ( ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 · 𝑏 ) ) ) )
16 15 2ralbidv ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑡 = ( .r ‘ 𝑟 ) ) → ( ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 · 𝑏 ) ) ) )
17 16 sbcbidv ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑡 = ( .r ‘ 𝑟 ) ) → ( [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 · 𝑏 ) ) ) )
18 7 17 sbcied ⊢ ( 𝑟 = 𝑅 → ( [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 · 𝑏 ) ) ) )
19 fvexd ⊢ ( 𝑟 = 𝑅 → ( Base ‘ 𝑟 ) ∈ V )
20 simpr ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑣 = ( Base ‘ 𝑟 ) ) → 𝑣 = ( Base ‘ 𝑟 ) )
21 fveq2 ⊢ ( 𝑟 = 𝑅 → ( Base ‘ 𝑟 ) = ( Base ‘ 𝑅 ) )
22 21 1 eqtr4di ⊢ ( 𝑟 = 𝑅 → ( Base ‘ 𝑟 ) = 𝐵 )
23 22 adantr ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑣 = ( Base ‘ 𝑟 ) ) → ( Base ‘ 𝑟 ) = 𝐵 )
24 20 23 eqtrd ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑣 = ( Base ‘ 𝑟 ) ) → 𝑣 = 𝐵 )
25 raleq ⊢ ( 𝑣 = 𝐵 → ( ∀ 𝑏 ∈ 𝑣 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ ∀ 𝑏 ∈ 𝐵 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
26 25 raleqbi1dv ⊢ ( 𝑣 = 𝐵 → ( ∀ 𝑎 ∈ 𝑣 ∀ 𝑏 ∈ 𝑣 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
27 24 26 syl ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑣 = ( Base ‘ 𝑟 ) ) → ( ∀ 𝑎 ∈ 𝑣 ∀ 𝑏 ∈ 𝑣 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
28 27 sbcbidv ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑣 = ( Base ‘ 𝑟 ) ) → ( [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝑣 ∀ 𝑏 ∈ 𝑣 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
29 28 sbcbidv ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑣 = ( Base ‘ 𝑟 ) ) → ( [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝑣 ∀ 𝑏 ∈ 𝑣 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
30 29 sbcbidv ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑣 = ( Base ‘ 𝑟 ) ) → ( [ ( 0g ‘ 𝑟 ) / 𝑧 ] [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝑣 ∀ 𝑏 ∈ 𝑣 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ [ ( 0g ‘ 𝑟 ) / 𝑧 ] [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
31 19 30 sbcied ⊢ ( 𝑟 = 𝑅 → ( [ ( Base ‘ 𝑟 ) / 𝑣 ] [ ( 0g ‘ 𝑟 ) / 𝑧 ] [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝑣 ∀ 𝑏 ∈ 𝑣 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ [ ( 0g ‘ 𝑟 ) / 𝑧 ] [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
32 fvexd ⊢ ( 𝑟 = 𝑅 → ( 0g ‘ 𝑟 ) ∈ V )
33 simpr ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑧 = ( 0g ‘ 𝑟 ) ) → 𝑧 = ( 0g ‘ 𝑟 ) )
34 fveq2 ⊢ ( 𝑟 = 𝑅 → ( 0g ‘ 𝑟 ) = ( 0g ‘ 𝑅 ) )
35 34 2 eqtr4di ⊢ ( 𝑟 = 𝑅 → ( 0g ‘ 𝑟 ) = 0 )
36 35 adantr ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑧 = ( 0g ‘ 𝑟 ) ) → ( 0g ‘ 𝑟 ) = 0 )
37 33 36 eqtrd ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑧 = ( 0g ‘ 𝑟 ) ) → 𝑧 = 0 )
38 37 breq1d ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑧 = ( 0g ‘ 𝑟 ) ) → ( 𝑧 𝑙 𝑎 ↔ 0 𝑙 𝑎 ) )
39 37 breq1d ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑧 = ( 0g ‘ 𝑟 ) ) → ( 𝑧 𝑙 𝑏 ↔ 0 𝑙 𝑏 ) )
40 38 39 anbi12d ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑧 = ( 0g ‘ 𝑟 ) ) → ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) ↔ ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) ) )
41 37 breq1d ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑧 = ( 0g ‘ 𝑟 ) ) → ( 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ↔ 0 𝑙 ( 𝑎 𝑡 𝑏 ) ) )
42 40 41 imbi12d ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑧 = ( 0g ‘ 𝑟 ) ) → ( ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
43 42 2ralbidv ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑧 = ( 0g ‘ 𝑟 ) ) → ( ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
44 43 sbcbidv ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑧 = ( 0g ‘ 𝑟 ) ) → ( [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
45 44 sbcbidv ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑧 = ( 0g ‘ 𝑟 ) ) → ( [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
46 32 45 sbcied ⊢ ( 𝑟 = 𝑅 → ( [ ( 0g ‘ 𝑟 ) / 𝑧 ] [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
47 31 46 bitr2d ⊢ ( 𝑟 = 𝑅 → ( [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ [ ( Base ‘ 𝑟 ) / 𝑣 ] [ ( 0g ‘ 𝑟 ) / 𝑧 ] [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝑣 ∀ 𝑏 ∈ 𝑣 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ) )
48 fvexd ⊢ ( 𝑟 = 𝑅 → ( le ‘ 𝑟 ) ∈ V )
49 simpr ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑙 = ( le ‘ 𝑟 ) ) → 𝑙 = ( le ‘ 𝑟 ) )
50 simpl ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑙 = ( le ‘ 𝑟 ) ) → 𝑟 = 𝑅 )
51 50 fveq2d ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑙 = ( le ‘ 𝑟 ) ) → ( le ‘ 𝑟 ) = ( le ‘ 𝑅 ) )
52 51 4 eqtr4di ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑙 = ( le ‘ 𝑟 ) ) → ( le ‘ 𝑟 ) = ≤ )
53 49 52 eqtrd ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑙 = ( le ‘ 𝑟 ) ) → 𝑙 = ≤ )
54 53 breqd ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑙 = ( le ‘ 𝑟 ) ) → ( 0 𝑙 𝑎 ↔ 0 ≤ 𝑎 ) )
55 53 breqd ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑙 = ( le ‘ 𝑟 ) ) → ( 0 𝑙 𝑏 ↔ 0 ≤ 𝑏 ) )
56 54 55 anbi12d ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑙 = ( le ‘ 𝑟 ) ) → ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) ↔ ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) ) )
57 53 breqd ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑙 = ( le ‘ 𝑟 ) ) → ( 0 𝑙 ( 𝑎 · 𝑏 ) ↔ 0 ≤ ( 𝑎 · 𝑏 ) ) )
58 56 57 imbi12d ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑙 = ( le ‘ 𝑟 ) ) → ( ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 · 𝑏 ) ) ↔ ( ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) → 0 ≤ ( 𝑎 · 𝑏 ) ) ) )
59 58 2ralbidv ⊢ ( ( 𝑟 = 𝑅 ∧ 𝑙 = ( le ‘ 𝑟 ) ) → ( ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 · 𝑏 ) ) ↔ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) → 0 ≤ ( 𝑎 · 𝑏 ) ) ) )
60 48 59 sbcied ⊢ ( 𝑟 = 𝑅 → ( [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 𝑙 𝑎 ∧ 0 𝑙 𝑏 ) → 0 𝑙 ( 𝑎 · 𝑏 ) ) ↔ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) → 0 ≤ ( 𝑎 · 𝑏 ) ) ) )
61 18 47 60 3bitr3d ⊢ ( 𝑟 = 𝑅 → ( [ ( Base ‘ 𝑟 ) / 𝑣 ] [ ( 0g ‘ 𝑟 ) / 𝑧 ] [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝑣 ∀ 𝑏 ∈ 𝑣 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) ↔ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) → 0 ≤ ( 𝑎 · 𝑏 ) ) ) )
62 df-orng ⊢ oRing = { 𝑟 ∈ ( Ring ∩ oGrp ) ∣ [ ( Base ‘ 𝑟 ) / 𝑣 ] [ ( 0g ‘ 𝑟 ) / 𝑧 ] [ ( .r ‘ 𝑟 ) / 𝑡 ] [ ( le ‘ 𝑟 ) / 𝑙 ] ∀ 𝑎 ∈ 𝑣 ∀ 𝑏 ∈ 𝑣 ( ( 𝑧 𝑙 𝑎 ∧ 𝑧 𝑙 𝑏 ) → 𝑧 𝑙 ( 𝑎 𝑡 𝑏 ) ) }
63 61 62 elrab2 ⊢ ( 𝑅 ∈ oRing ↔ ( 𝑅 ∈ ( Ring ∩ oGrp ) ∧ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) → 0 ≤ ( 𝑎 · 𝑏 ) ) ) )
64 df-3an ⊢ ( ( 𝑅 ∈ Ring ∧ 𝑅 ∈ oGrp ∧ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) → 0 ≤ ( 𝑎 · 𝑏 ) ) ) ↔ ( ( 𝑅 ∈ Ring ∧ 𝑅 ∈ oGrp ) ∧ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) → 0 ≤ ( 𝑎 · 𝑏 ) ) ) )
65 6 63 64 3bitr4i ⊢ ( 𝑅 ∈ oRing ↔ ( 𝑅 ∈ Ring ∧ 𝑅 ∈ oGrp ∧ ∀ 𝑎 ∈ 𝐵 ∀ 𝑏 ∈ 𝐵 ( ( 0 ≤ 𝑎 ∧ 0 ≤ 𝑏 ) → 0 ≤ ( 𝑎 · 𝑏 ) ) ) )