Metamath Proof Explorer


Theorem ltrnq

Description: Ordering property of reciprocal for positive fractions. Proposition 9-2.6(iv) of Gleason p. 120. (Contributed by NM, 9-Mar-1996) (Revised by Mario Carneiro, 10-May-2013) (New usage is discouraged.)

Ref Expression
Assertion ltrnq ( 𝐴 <Q 𝐵 ↔ ( *Q𝐵 ) <Q ( *Q𝐴 ) )

Proof

Step Hyp Ref Expression
1 ltrelnq <Q ⊆ ( Q × Q )
2 1 brel ( 𝐴 <Q 𝐵 → ( 𝐴Q𝐵Q ) )
3 1 brel ( ( *Q𝐵 ) <Q ( *Q𝐴 ) → ( ( *Q𝐵 ) ∈ Q ∧ ( *Q𝐴 ) ∈ Q ) )
4 dmrecnq dom *Q = Q
5 0nnq ¬ ∅ ∈ Q
6 4 5 ndmfvrcl ( ( *Q𝐵 ) ∈ Q𝐵Q )
7 4 5 ndmfvrcl ( ( *Q𝐴 ) ∈ Q𝐴Q )
8 6 7 anim12ci ( ( ( *Q𝐵 ) ∈ Q ∧ ( *Q𝐴 ) ∈ Q ) → ( 𝐴Q𝐵Q ) )
9 3 8 syl ( ( *Q𝐵 ) <Q ( *Q𝐴 ) → ( 𝐴Q𝐵Q ) )
10 breq1 ( 𝑥 = 𝐴 → ( 𝑥 <Q 𝑦𝐴 <Q 𝑦 ) )
11 fveq2 ( 𝑥 = 𝐴 → ( *Q𝑥 ) = ( *Q𝐴 ) )
12 11 breq2d ( 𝑥 = 𝐴 → ( ( *Q𝑦 ) <Q ( *Q𝑥 ) ↔ ( *Q𝑦 ) <Q ( *Q𝐴 ) ) )
13 10 12 bibi12d ( 𝑥 = 𝐴 → ( ( 𝑥 <Q 𝑦 ↔ ( *Q𝑦 ) <Q ( *Q𝑥 ) ) ↔ ( 𝐴 <Q 𝑦 ↔ ( *Q𝑦 ) <Q ( *Q𝐴 ) ) ) )
14 breq2 ( 𝑦 = 𝐵 → ( 𝐴 <Q 𝑦𝐴 <Q 𝐵 ) )
15 fveq2 ( 𝑦 = 𝐵 → ( *Q𝑦 ) = ( *Q𝐵 ) )
16 15 breq1d ( 𝑦 = 𝐵 → ( ( *Q𝑦 ) <Q ( *Q𝐴 ) ↔ ( *Q𝐵 ) <Q ( *Q𝐴 ) ) )
17 14 16 bibi12d ( 𝑦 = 𝐵 → ( ( 𝐴 <Q 𝑦 ↔ ( *Q𝑦 ) <Q ( *Q𝐴 ) ) ↔ ( 𝐴 <Q 𝐵 ↔ ( *Q𝐵 ) <Q ( *Q𝐴 ) ) ) )
18 recclnq ( 𝑥Q → ( *Q𝑥 ) ∈ Q )
19 recclnq ( 𝑦Q → ( *Q𝑦 ) ∈ Q )
20 mulclnq ( ( ( *Q𝑥 ) ∈ Q ∧ ( *Q𝑦 ) ∈ Q ) → ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ∈ Q )
21 18 19 20 syl2an ( ( 𝑥Q𝑦Q ) → ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ∈ Q )
22 ltmnq ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ∈ Q → ( 𝑥 <Q 𝑦 ↔ ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑥 ) <Q ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑦 ) ) )
23 21 22 syl ( ( 𝑥Q𝑦Q ) → ( 𝑥 <Q 𝑦 ↔ ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑥 ) <Q ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑦 ) ) )
24 mulcomnq ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑥 ) = ( 𝑥 ·Q ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) )
25 mulassnq ( ( 𝑥 ·Q ( *Q𝑥 ) ) ·Q ( *Q𝑦 ) ) = ( 𝑥 ·Q ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) )
26 mulcomnq ( ( 𝑥 ·Q ( *Q𝑥 ) ) ·Q ( *Q𝑦 ) ) = ( ( *Q𝑦 ) ·Q ( 𝑥 ·Q ( *Q𝑥 ) ) )
27 24 25 26 3eqtr2i ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑥 ) = ( ( *Q𝑦 ) ·Q ( 𝑥 ·Q ( *Q𝑥 ) ) )
28 recidnq ( 𝑥Q → ( 𝑥 ·Q ( *Q𝑥 ) ) = 1Q )
29 28 oveq2d ( 𝑥Q → ( ( *Q𝑦 ) ·Q ( 𝑥 ·Q ( *Q𝑥 ) ) ) = ( ( *Q𝑦 ) ·Q 1Q ) )
30 mulidnq ( ( *Q𝑦 ) ∈ Q → ( ( *Q𝑦 ) ·Q 1Q ) = ( *Q𝑦 ) )
31 19 30 syl ( 𝑦Q → ( ( *Q𝑦 ) ·Q 1Q ) = ( *Q𝑦 ) )
32 29 31 sylan9eq ( ( 𝑥Q𝑦Q ) → ( ( *Q𝑦 ) ·Q ( 𝑥 ·Q ( *Q𝑥 ) ) ) = ( *Q𝑦 ) )
33 27 32 eqtrid ( ( 𝑥Q𝑦Q ) → ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑥 ) = ( *Q𝑦 ) )
34 mulassnq ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑦 ) = ( ( *Q𝑥 ) ·Q ( ( *Q𝑦 ) ·Q 𝑦 ) )
35 mulcomnq ( ( *Q𝑦 ) ·Q 𝑦 ) = ( 𝑦 ·Q ( *Q𝑦 ) )
36 35 oveq2i ( ( *Q𝑥 ) ·Q ( ( *Q𝑦 ) ·Q 𝑦 ) ) = ( ( *Q𝑥 ) ·Q ( 𝑦 ·Q ( *Q𝑦 ) ) )
37 34 36 eqtri ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑦 ) = ( ( *Q𝑥 ) ·Q ( 𝑦 ·Q ( *Q𝑦 ) ) )
38 recidnq ( 𝑦Q → ( 𝑦 ·Q ( *Q𝑦 ) ) = 1Q )
39 38 oveq2d ( 𝑦Q → ( ( *Q𝑥 ) ·Q ( 𝑦 ·Q ( *Q𝑦 ) ) ) = ( ( *Q𝑥 ) ·Q 1Q ) )
40 mulidnq ( ( *Q𝑥 ) ∈ Q → ( ( *Q𝑥 ) ·Q 1Q ) = ( *Q𝑥 ) )
41 18 40 syl ( 𝑥Q → ( ( *Q𝑥 ) ·Q 1Q ) = ( *Q𝑥 ) )
42 39 41 sylan9eqr ( ( 𝑥Q𝑦Q ) → ( ( *Q𝑥 ) ·Q ( 𝑦 ·Q ( *Q𝑦 ) ) ) = ( *Q𝑥 ) )
43 37 42 eqtrid ( ( 𝑥Q𝑦Q ) → ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑦 ) = ( *Q𝑥 ) )
44 33 43 breq12d ( ( 𝑥Q𝑦Q ) → ( ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑥 ) <Q ( ( ( *Q𝑥 ) ·Q ( *Q𝑦 ) ) ·Q 𝑦 ) ↔ ( *Q𝑦 ) <Q ( *Q𝑥 ) ) )
45 23 44 bitrd ( ( 𝑥Q𝑦Q ) → ( 𝑥 <Q 𝑦 ↔ ( *Q𝑦 ) <Q ( *Q𝑥 ) ) )
46 13 17 45 vtocl2ga ( ( 𝐴Q𝐵Q ) → ( 𝐴 <Q 𝐵 ↔ ( *Q𝐵 ) <Q ( *Q𝐴 ) ) )
47 2 9 46 pm5.21nii ( 𝐴 <Q 𝐵 ↔ ( *Q𝐵 ) <Q ( *Q𝐴 ) )