Metamath Proof Explorer


Theorem ltsonq

Description: 'Less than' is a strict ordering on positive fractions. (Contributed by NM, 19-Feb-1996) (Revised by Mario Carneiro, 4-May-2013) (New usage is discouraged.)

Ref Expression
Assertion ltsonq <Q Or Q

Proof

Step Hyp Ref Expression
1 elpqn ( 𝑥Q𝑥 ∈ ( N × N ) )
2 1 adantr ( ( 𝑥Q𝑦Q ) → 𝑥 ∈ ( N × N ) )
3 xp1st ( 𝑥 ∈ ( N × N ) → ( 1st𝑥 ) ∈ N )
4 2 3 syl ( ( 𝑥Q𝑦Q ) → ( 1st𝑥 ) ∈ N )
5 elpqn ( 𝑦Q𝑦 ∈ ( N × N ) )
6 5 adantl ( ( 𝑥Q𝑦Q ) → 𝑦 ∈ ( N × N ) )
7 xp2nd ( 𝑦 ∈ ( N × N ) → ( 2nd𝑦 ) ∈ N )
8 6 7 syl ( ( 𝑥Q𝑦Q ) → ( 2nd𝑦 ) ∈ N )
9 mulclpi ( ( ( 1st𝑥 ) ∈ N ∧ ( 2nd𝑦 ) ∈ N ) → ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ∈ N )
10 4 8 9 syl2anc ( ( 𝑥Q𝑦Q ) → ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ∈ N )
11 xp1st ( 𝑦 ∈ ( N × N ) → ( 1st𝑦 ) ∈ N )
12 6 11 syl ( ( 𝑥Q𝑦Q ) → ( 1st𝑦 ) ∈ N )
13 xp2nd ( 𝑥 ∈ ( N × N ) → ( 2nd𝑥 ) ∈ N )
14 2 13 syl ( ( 𝑥Q𝑦Q ) → ( 2nd𝑥 ) ∈ N )
15 mulclpi ( ( ( 1st𝑦 ) ∈ N ∧ ( 2nd𝑥 ) ∈ N ) → ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ∈ N )
16 12 14 15 syl2anc ( ( 𝑥Q𝑦Q ) → ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ∈ N )
17 ltsopi <N Or N
18 sotric ( ( <N Or N ∧ ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ∈ N ∧ ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ∈ N ) ) → ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) <N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ↔ ¬ ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) = ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ∨ ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) <N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) ) )
19 17 18 mpan ( ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ∈ N ∧ ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ∈ N ) → ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) <N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ↔ ¬ ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) = ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ∨ ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) <N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) ) )
20 10 16 19 syl2anc ( ( 𝑥Q𝑦Q ) → ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) <N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ↔ ¬ ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) = ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ∨ ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) <N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) ) )
21 ordpinq ( ( 𝑥Q𝑦Q ) → ( 𝑥 <Q 𝑦 ↔ ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) <N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) )
22 fveq2 ( 𝑥 = 𝑦 → ( 1st𝑥 ) = ( 1st𝑦 ) )
23 fveq2 ( 𝑥 = 𝑦 → ( 2nd𝑥 ) = ( 2nd𝑦 ) )
24 23 eqcomd ( 𝑥 = 𝑦 → ( 2nd𝑦 ) = ( 2nd𝑥 ) )
25 22 24 oveq12d ( 𝑥 = 𝑦 → ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) = ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) )
26 enqbreq2 ( ( 𝑥 ∈ ( N × N ) ∧ 𝑦 ∈ ( N × N ) ) → ( 𝑥 ~Q 𝑦 ↔ ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) = ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) )
27 1 5 26 syl2an ( ( 𝑥Q𝑦Q ) → ( 𝑥 ~Q 𝑦 ↔ ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) = ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) )
28 enqeq ( ( 𝑥Q𝑦Q𝑥 ~Q 𝑦 ) → 𝑥 = 𝑦 )
29 28 3expia ( ( 𝑥Q𝑦Q ) → ( 𝑥 ~Q 𝑦𝑥 = 𝑦 ) )
30 27 29 sylbird ( ( 𝑥Q𝑦Q ) → ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) = ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) → 𝑥 = 𝑦 ) )
31 25 30 impbid2 ( ( 𝑥Q𝑦Q ) → ( 𝑥 = 𝑦 ↔ ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) = ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) )
32 ordpinq ( ( 𝑦Q𝑥Q ) → ( 𝑦 <Q 𝑥 ↔ ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) <N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) )
33 32 ancoms ( ( 𝑥Q𝑦Q ) → ( 𝑦 <Q 𝑥 ↔ ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) <N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) )
34 31 33 orbi12d ( ( 𝑥Q𝑦Q ) → ( ( 𝑥 = 𝑦𝑦 <Q 𝑥 ) ↔ ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) = ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ∨ ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) <N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) ) )
35 34 notbid ( ( 𝑥Q𝑦Q ) → ( ¬ ( 𝑥 = 𝑦𝑦 <Q 𝑥 ) ↔ ¬ ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) = ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ∨ ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) <N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) ) )
36 20 21 35 3bitr4d ( ( 𝑥Q𝑦Q ) → ( 𝑥 <Q 𝑦 ↔ ¬ ( 𝑥 = 𝑦𝑦 <Q 𝑥 ) ) )
37 21 3adant3 ( ( 𝑥Q𝑦Q𝑧Q ) → ( 𝑥 <Q 𝑦 ↔ ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) <N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) )
38 elpqn ( 𝑧Q𝑧 ∈ ( N × N ) )
39 38 3ad2ant3 ( ( 𝑥Q𝑦Q𝑧Q ) → 𝑧 ∈ ( N × N ) )
40 xp2nd ( 𝑧 ∈ ( N × N ) → ( 2nd𝑧 ) ∈ N )
41 ltmpi ( ( 2nd𝑧 ) ∈ N → ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) <N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ↔ ( ( 2nd𝑧 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) <N ( ( 2nd𝑧 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) ) )
42 39 40 41 3syl ( ( 𝑥Q𝑦Q𝑧Q ) → ( ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) <N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ↔ ( ( 2nd𝑧 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) <N ( ( 2nd𝑧 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) ) )
43 37 42 bitrd ( ( 𝑥Q𝑦Q𝑧Q ) → ( 𝑥 <Q 𝑦 ↔ ( ( 2nd𝑧 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) <N ( ( 2nd𝑧 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) ) )
44 ordpinq ( ( 𝑦Q𝑧Q ) → ( 𝑦 <Q 𝑧 ↔ ( ( 1st𝑦 ) ·N ( 2nd𝑧 ) ) <N ( ( 1st𝑧 ) ·N ( 2nd𝑦 ) ) ) )
45 44 3adant1 ( ( 𝑥Q𝑦Q𝑧Q ) → ( 𝑦 <Q 𝑧 ↔ ( ( 1st𝑦 ) ·N ( 2nd𝑧 ) ) <N ( ( 1st𝑧 ) ·N ( 2nd𝑦 ) ) ) )
46 1 3ad2ant1 ( ( 𝑥Q𝑦Q𝑧Q ) → 𝑥 ∈ ( N × N ) )
47 ltmpi ( ( 2nd𝑥 ) ∈ N → ( ( ( 1st𝑦 ) ·N ( 2nd𝑧 ) ) <N ( ( 1st𝑧 ) ·N ( 2nd𝑦 ) ) ↔ ( ( 2nd𝑥 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑥 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑦 ) ) ) ) )
48 46 13 47 3syl ( ( 𝑥Q𝑦Q𝑧Q ) → ( ( ( 1st𝑦 ) ·N ( 2nd𝑧 ) ) <N ( ( 1st𝑧 ) ·N ( 2nd𝑦 ) ) ↔ ( ( 2nd𝑥 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑥 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑦 ) ) ) ) )
49 45 48 bitrd ( ( 𝑥Q𝑦Q𝑧Q ) → ( 𝑦 <Q 𝑧 ↔ ( ( 2nd𝑥 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑥 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑦 ) ) ) ) )
50 43 49 anbi12d ( ( 𝑥Q𝑦Q𝑧Q ) → ( ( 𝑥 <Q 𝑦𝑦 <Q 𝑧 ) ↔ ( ( ( 2nd𝑧 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) <N ( ( 2nd𝑧 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) ∧ ( ( 2nd𝑥 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑥 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑦 ) ) ) ) ) )
51 fvex ( 2nd𝑥 ) ∈ V
52 fvex ( 1st𝑦 ) ∈ V
53 fvex ( 2nd𝑧 ) ∈ V
54 mulcompi ( 𝑟 ·N 𝑠 ) = ( 𝑠 ·N 𝑟 )
55 mulasspi ( ( 𝑟 ·N 𝑠 ) ·N 𝑡 ) = ( 𝑟 ·N ( 𝑠 ·N 𝑡 ) )
56 51 52 53 54 55 caov13 ( ( 2nd𝑥 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑧 ) ) ) = ( ( 2nd𝑧 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) )
57 fvex ( 1st𝑧 ) ∈ V
58 fvex ( 2nd𝑦 ) ∈ V
59 51 57 58 54 55 caov13 ( ( 2nd𝑥 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑦 ) ) ) = ( ( 2nd𝑦 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) )
60 56 59 breq12i ( ( ( 2nd𝑥 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑥 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑦 ) ) ) ↔ ( ( 2nd𝑧 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) <N ( ( 2nd𝑦 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) )
61 fvex ( 1st𝑥 ) ∈ V
62 53 61 58 54 55 caov13 ( ( 2nd𝑧 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) = ( ( 2nd𝑦 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑧 ) ) )
63 ltrelpi <N ⊆ ( N × N )
64 17 63 sotri ( ( ( ( 2nd𝑧 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) <N ( ( 2nd𝑧 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) ∧ ( ( 2nd𝑧 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) <N ( ( 2nd𝑦 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) ) → ( ( 2nd𝑧 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) <N ( ( 2nd𝑦 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) )
65 62 64 eqbrtrrid ( ( ( ( 2nd𝑧 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) <N ( ( 2nd𝑧 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) ∧ ( ( 2nd𝑧 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) <N ( ( 2nd𝑦 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) ) → ( ( 2nd𝑦 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑦 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) )
66 60 65 sylan2b ( ( ( ( 2nd𝑧 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑦 ) ) ) <N ( ( 2nd𝑧 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑥 ) ) ) ∧ ( ( 2nd𝑥 ) ·N ( ( 1st𝑦 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑥 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑦 ) ) ) ) → ( ( 2nd𝑦 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑦 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) )
67 50 66 syl6bi ( ( 𝑥Q𝑦Q𝑧Q ) → ( ( 𝑥 <Q 𝑦𝑦 <Q 𝑧 ) → ( ( 2nd𝑦 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑦 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) ) )
68 ordpinq ( ( 𝑥Q𝑧Q ) → ( 𝑥 <Q 𝑧 ↔ ( ( 1st𝑥 ) ·N ( 2nd𝑧 ) ) <N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) )
69 68 3adant2 ( ( 𝑥Q𝑦Q𝑧Q ) → ( 𝑥 <Q 𝑧 ↔ ( ( 1st𝑥 ) ·N ( 2nd𝑧 ) ) <N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) )
70 5 3ad2ant2 ( ( 𝑥Q𝑦Q𝑧Q ) → 𝑦 ∈ ( N × N ) )
71 ltmpi ( ( 2nd𝑦 ) ∈ N → ( ( ( 1st𝑥 ) ·N ( 2nd𝑧 ) ) <N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ↔ ( ( 2nd𝑦 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑦 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) ) )
72 70 7 71 3syl ( ( 𝑥Q𝑦Q𝑧Q ) → ( ( ( 1st𝑥 ) ·N ( 2nd𝑧 ) ) <N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ↔ ( ( 2nd𝑦 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑦 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) ) )
73 69 72 bitrd ( ( 𝑥Q𝑦Q𝑧Q ) → ( 𝑥 <Q 𝑧 ↔ ( ( 2nd𝑦 ) ·N ( ( 1st𝑥 ) ·N ( 2nd𝑧 ) ) ) <N ( ( 2nd𝑦 ) ·N ( ( 1st𝑧 ) ·N ( 2nd𝑥 ) ) ) ) )
74 67 73 sylibrd ( ( 𝑥Q𝑦Q𝑧Q ) → ( ( 𝑥 <Q 𝑦𝑦 <Q 𝑧 ) → 𝑥 <Q 𝑧 ) )
75 36 74 isso2i <Q Or Q