Metamath Proof Explorer


Theorem mulclprlem

Description: Lemma to prove downward closure in positive real multiplication. Part of proof of Proposition 9-3.7 of Gleason p. 124. (Contributed by NM, 14-Mar-1996) (New usage is discouraged.)

Ref Expression
Assertion mulclprlem ( ( ( ( 𝐴P𝑔𝐴 ) ∧ ( 𝐵P𝐵 ) ) ∧ 𝑥Q ) → ( 𝑥 <Q ( 𝑔 ·Q ) → 𝑥 ∈ ( 𝐴 ·P 𝐵 ) ) )

Proof

Step Hyp Ref Expression
1 elprnq ( ( 𝐴P𝑔𝐴 ) → 𝑔Q )
2 elprnq ( ( 𝐵P𝐵 ) → Q )
3 recclnq ( Q → ( *Q ) ∈ Q )
4 3 adantl ( ( 𝑔QQ ) → ( *Q ) ∈ Q )
5 vex 𝑥 ∈ V
6 ovex ( 𝑔 ·Q ) ∈ V
7 ltmnq ( 𝑤Q → ( 𝑦 <Q 𝑧 ↔ ( 𝑤 ·Q 𝑦 ) <Q ( 𝑤 ·Q 𝑧 ) ) )
8 fvex ( *Q ) ∈ V
9 mulcomnq ( 𝑦 ·Q 𝑧 ) = ( 𝑧 ·Q 𝑦 )
10 5 6 7 8 9 caovord2 ( ( *Q ) ∈ Q → ( 𝑥 <Q ( 𝑔 ·Q ) ↔ ( 𝑥 ·Q ( *Q ) ) <Q ( ( 𝑔 ·Q ) ·Q ( *Q ) ) ) )
11 4 10 syl ( ( 𝑔QQ ) → ( 𝑥 <Q ( 𝑔 ·Q ) ↔ ( 𝑥 ·Q ( *Q ) ) <Q ( ( 𝑔 ·Q ) ·Q ( *Q ) ) ) )
12 mulassnq ( ( 𝑔 ·Q ) ·Q ( *Q ) ) = ( 𝑔 ·Q ( ·Q ( *Q ) ) )
13 recidnq ( Q → ( ·Q ( *Q ) ) = 1Q )
14 13 oveq2d ( Q → ( 𝑔 ·Q ( ·Q ( *Q ) ) ) = ( 𝑔 ·Q 1Q ) )
15 12 14 eqtrid ( Q → ( ( 𝑔 ·Q ) ·Q ( *Q ) ) = ( 𝑔 ·Q 1Q ) )
16 mulidnq ( 𝑔Q → ( 𝑔 ·Q 1Q ) = 𝑔 )
17 15 16 sylan9eqr ( ( 𝑔QQ ) → ( ( 𝑔 ·Q ) ·Q ( *Q ) ) = 𝑔 )
18 17 breq2d ( ( 𝑔QQ ) → ( ( 𝑥 ·Q ( *Q ) ) <Q ( ( 𝑔 ·Q ) ·Q ( *Q ) ) ↔ ( 𝑥 ·Q ( *Q ) ) <Q 𝑔 ) )
19 11 18 bitrd ( ( 𝑔QQ ) → ( 𝑥 <Q ( 𝑔 ·Q ) ↔ ( 𝑥 ·Q ( *Q ) ) <Q 𝑔 ) )
20 1 2 19 syl2an ( ( ( 𝐴P𝑔𝐴 ) ∧ ( 𝐵P𝐵 ) ) → ( 𝑥 <Q ( 𝑔 ·Q ) ↔ ( 𝑥 ·Q ( *Q ) ) <Q 𝑔 ) )
21 prcdnq ( ( 𝐴P𝑔𝐴 ) → ( ( 𝑥 ·Q ( *Q ) ) <Q 𝑔 → ( 𝑥 ·Q ( *Q ) ) ∈ 𝐴 ) )
22 21 adantr ( ( ( 𝐴P𝑔𝐴 ) ∧ ( 𝐵P𝐵 ) ) → ( ( 𝑥 ·Q ( *Q ) ) <Q 𝑔 → ( 𝑥 ·Q ( *Q ) ) ∈ 𝐴 ) )
23 20 22 sylbid ( ( ( 𝐴P𝑔𝐴 ) ∧ ( 𝐵P𝐵 ) ) → ( 𝑥 <Q ( 𝑔 ·Q ) → ( 𝑥 ·Q ( *Q ) ) ∈ 𝐴 ) )
24 df-mp ·P = ( 𝑤P , 𝑣P ↦ { 𝑥 ∣ ∃ 𝑦𝑤𝑧𝑣 𝑥 = ( 𝑦 ·Q 𝑧 ) } )
25 mulclnq ( ( 𝑦Q𝑧Q ) → ( 𝑦 ·Q 𝑧 ) ∈ Q )
26 24 25 genpprecl ( ( 𝐴P𝐵P ) → ( ( ( 𝑥 ·Q ( *Q ) ) ∈ 𝐴𝐵 ) → ( ( 𝑥 ·Q ( *Q ) ) ·Q ) ∈ ( 𝐴 ·P 𝐵 ) ) )
27 26 exp4b ( 𝐴P → ( 𝐵P → ( ( 𝑥 ·Q ( *Q ) ) ∈ 𝐴 → ( 𝐵 → ( ( 𝑥 ·Q ( *Q ) ) ·Q ) ∈ ( 𝐴 ·P 𝐵 ) ) ) ) )
28 27 com34 ( 𝐴P → ( 𝐵P → ( 𝐵 → ( ( 𝑥 ·Q ( *Q ) ) ∈ 𝐴 → ( ( 𝑥 ·Q ( *Q ) ) ·Q ) ∈ ( 𝐴 ·P 𝐵 ) ) ) ) )
29 28 imp32 ( ( 𝐴P ∧ ( 𝐵P𝐵 ) ) → ( ( 𝑥 ·Q ( *Q ) ) ∈ 𝐴 → ( ( 𝑥 ·Q ( *Q ) ) ·Q ) ∈ ( 𝐴 ·P 𝐵 ) ) )
30 29 adantlr ( ( ( 𝐴P𝑔𝐴 ) ∧ ( 𝐵P𝐵 ) ) → ( ( 𝑥 ·Q ( *Q ) ) ∈ 𝐴 → ( ( 𝑥 ·Q ( *Q ) ) ·Q ) ∈ ( 𝐴 ·P 𝐵 ) ) )
31 23 30 syld ( ( ( 𝐴P𝑔𝐴 ) ∧ ( 𝐵P𝐵 ) ) → ( 𝑥 <Q ( 𝑔 ·Q ) → ( ( 𝑥 ·Q ( *Q ) ) ·Q ) ∈ ( 𝐴 ·P 𝐵 ) ) )
32 31 adantr ( ( ( ( 𝐴P𝑔𝐴 ) ∧ ( 𝐵P𝐵 ) ) ∧ 𝑥Q ) → ( 𝑥 <Q ( 𝑔 ·Q ) → ( ( 𝑥 ·Q ( *Q ) ) ·Q ) ∈ ( 𝐴 ·P 𝐵 ) ) )
33 2 adantl ( ( ( 𝐴P𝑔𝐴 ) ∧ ( 𝐵P𝐵 ) ) → Q )
34 mulassnq ( ( 𝑥 ·Q ( *Q ) ) ·Q ) = ( 𝑥 ·Q ( ( *Q ) ·Q ) )
35 mulcomnq ( ( *Q ) ·Q ) = ( ·Q ( *Q ) )
36 35 13 eqtrid ( Q → ( ( *Q ) ·Q ) = 1Q )
37 36 oveq2d ( Q → ( 𝑥 ·Q ( ( *Q ) ·Q ) ) = ( 𝑥 ·Q 1Q ) )
38 34 37 eqtrid ( Q → ( ( 𝑥 ·Q ( *Q ) ) ·Q ) = ( 𝑥 ·Q 1Q ) )
39 mulidnq ( 𝑥Q → ( 𝑥 ·Q 1Q ) = 𝑥 )
40 38 39 sylan9eq ( ( Q𝑥Q ) → ( ( 𝑥 ·Q ( *Q ) ) ·Q ) = 𝑥 )
41 40 eleq1d ( ( Q𝑥Q ) → ( ( ( 𝑥 ·Q ( *Q ) ) ·Q ) ∈ ( 𝐴 ·P 𝐵 ) ↔ 𝑥 ∈ ( 𝐴 ·P 𝐵 ) ) )
42 33 41 sylan ( ( ( ( 𝐴P𝑔𝐴 ) ∧ ( 𝐵P𝐵 ) ) ∧ 𝑥Q ) → ( ( ( 𝑥 ·Q ( *Q ) ) ·Q ) ∈ ( 𝐴 ·P 𝐵 ) ↔ 𝑥 ∈ ( 𝐴 ·P 𝐵 ) ) )
43 32 42 sylibd ( ( ( ( 𝐴P𝑔𝐴 ) ∧ ( 𝐵P𝐵 ) ) ∧ 𝑥Q ) → ( 𝑥 <Q ( 𝑔 ·Q ) → 𝑥 ∈ ( 𝐴 ·P 𝐵 ) ) )