MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  aalioulem4 Structured version   Visualization version   GIF version

Theorem aalioulem4 26671
Description: Lemma for aaliou 26674. (Contributed by Stefan O'Rear, 16-Nov-2014.)
Hypotheses
Ref Expression
aalioulem2.a 𝑁 = (deg‘𝐹)
aalioulem2.b (𝜑 → 𝐹 ∈ (Poly‘ℤ))
aalioulem2.c (𝜑 → 𝑁 ∈ ℕ)
aalioulem2.d (𝜑 → 𝐴 ∈ ℝ)
aalioulem3.e (𝜑 → (𝐹‘𝐴) = 0)
Assertion
Ref Expression
aalioulem4 (𝜑 → ∃𝑥 ∈ ℝ+ ∀𝑝 ∈ ℤ ∀𝑞 ∈ ℕ (((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1) → (𝐴 = (𝑝 / 𝑞) ∨ (𝑥 / (𝑞↑𝑁)) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))))
Distinct variable groups:   𝜑,𝑥,𝑝,𝑞   𝑥,𝐴,𝑝,𝑞   𝑥,𝐹,𝑝,𝑞
Allowed substitution hints:   𝑁(𝑥, 𝑞, 𝑝)

Proof of Theorem aalioulem4
Dummy variable 𝑎 is distinct from all other variables.
StepHypRef Expression
1 aalioulem2.a . . 3 𝑁 = (deg‘𝐹)
2 aalioulem2.b . . 3 (𝜑 → 𝐹 ∈ (Poly‘ℤ))
3 aalioulem2.c . . 3 (𝜑 → 𝑁 ∈ ℕ)
4 aalioulem2.d . . 3 (𝜑 → 𝐴 ∈ ℝ)
5 aalioulem3.e . . 3 (𝜑 → (𝐹‘𝐴) = 0)
61, 2, 3, 4, 5aalioulem3 26670 . 2 (𝜑 → ∃𝑥 ∈ ℝ+ ∀𝑎 ∈ ℝ ((abs‘(𝐴 − 𝑎)) ≤ 1 → (𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎))))
7 simp2l 1218 . . . . . . . . . . 11 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝑝 ∈ ℤ)
8 simp2r 1219 . . . . . . . . . . 11 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝑞 ∈ ℕ)
9 znq 13086 . . . . . . . . . . 11 ((𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) → (𝑝 / 𝑞) ∈ ℚ)
107, 8, 9syl2anc 596 . . . . . . . . . 10 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑝 / 𝑞) ∈ ℚ)
11 qre 13087 . . . . . . . . . 10 ((𝑝 / 𝑞) ∈ ℚ → (𝑝 / 𝑞) ∈ ℝ)
1210, 11syl 18 . . . . . . . . 9 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑝 / 𝑞) ∈ ℝ)
13 simp3r 1221 . . . . . . . . 9 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)
14 oveq2 7432 . . . . . . . . . . . . . 14 (𝑎 = (𝑝 / 𝑞) → (𝐴 − 𝑎) = (𝐴 − (𝑝 / 𝑞)))
1514fveq2d 6894 . . . . . . . . . . . . 13 (𝑎 = (𝑝 / 𝑞) → (abs‘(𝐴 − 𝑎)) = (abs‘(𝐴 − (𝑝 / 𝑞))))
1615breq1d 5112 . . . . . . . . . . . 12 (𝑎 = (𝑝 / 𝑞) → ((abs‘(𝐴 − 𝑎)) ≤ 1 ↔ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1))
17 2fveq3 6895 . . . . . . . . . . . . . 14 (𝑎 = (𝑝 / 𝑞) → (abs‘(𝐹‘𝑎)) = (abs‘(𝐹‘(𝑝 / 𝑞))))
1817oveq2d 7440 . . . . . . . . . . . . 13 (𝑎 = (𝑝 / 𝑞) → (𝑥 · (abs‘(𝐹‘𝑎))) = (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))))
1918, 15breq12d 5115 . . . . . . . . . . . 12 (𝑎 = (𝑝 / 𝑞) → ((𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎)) ↔ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))))
2016, 19imbi12d 347 . . . . . . . . . . 11 (𝑎 = (𝑝 / 𝑞) → (((abs‘(𝐴 − 𝑎)) ≤ 1 → (𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎))) ↔ ((abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1 → (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))))
2120rspcv 3572 . . . . . . . . . 10 ((𝑝 / 𝑞) ∈ ℝ → (∀𝑎 ∈ ℝ ((abs‘(𝐴 − 𝑎)) ≤ 1 → (𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎))) → ((abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1 → (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))))
2221com23 87 . . . . . . . . 9 ((𝑝 / 𝑞) ∈ ℝ → ((abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1 → (∀𝑎 ∈ ℝ ((abs‘(𝐴 − 𝑎)) ≤ 1 → (𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎))) → (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))))
2312, 13, 22sylc 66 . . . . . . . 8 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (∀𝑎 ∈ ℝ ((abs‘(𝐴 − 𝑎)) ≤ 1 → (𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎))) → (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))))
24 simp1r 1217 . . . . . . . . . . . . . 14 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝑥 ∈ ℝ+)
258nnrpd 13169 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝑞 ∈ ℝ+)
26 simp1l 1216 . . . . . . . . . . . . . . . . 17 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝜑)
2726, 3syl 18 . . . . . . . . . . . . . . . 16 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝑁 ∈ ℕ)
2827nnzd 12726 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝑁 ∈ ℤ)
2925, 28rpexpcld 14398 . . . . . . . . . . . . . 14 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑞↑𝑁) ∈ ℝ+)
3024, 29rpdivcld 13188 . . . . . . . . . . . . 13 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑥 / (𝑞↑𝑁)) ∈ ℝ+)
3130rpred 13171 . . . . . . . . . . . 12 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑥 / (𝑞↑𝑁)) ∈ ℝ)
3231adantr 486 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) ∧ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))) → (𝑥 / (𝑞↑𝑁)) ∈ ℝ)
3324rpred 13171 . . . . . . . . . . . . 13 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝑥 ∈ ℝ)
3426, 2syl 18 . . . . . . . . . . . . . . . 16 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝐹 ∈ (Poly‘ℤ))
35 plyf 26525 . . . . . . . . . . . . . . . 16 (𝐹 ∈ (Poly‘ℤ) → 𝐹:ℂ⟶ℂ)
3634, 35syl 18 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝐹:ℂ⟶ℂ)
3712recnd 11344 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑝 / 𝑞) ∈ ℂ)
3836, 37ffvelcdmd 7090 . . . . . . . . . . . . . 14 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝐹‘(𝑝 / 𝑞)) ∈ ℂ)
3938abscld 15615 . . . . . . . . . . . . 13 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (abs‘(𝐹‘(𝑝 / 𝑞))) ∈ ℝ)
4033, 39remulcld 11346 . . . . . . . . . . . 12 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ∈ ℝ)
4140adantr 486 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) ∧ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))) → (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ∈ ℝ)
4226, 4syl 18 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝐴 ∈ ℝ)
4342, 12resubcld 11751 . . . . . . . . . . . . . 14 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝐴 − (𝑝 / 𝑞)) ∈ ℝ)
4443recnd 11344 . . . . . . . . . . . . 13 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝐴 − (𝑝 / 𝑞)) ∈ ℂ)
4544abscld 15615 . . . . . . . . . . . 12 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (abs‘(𝐴 − (𝑝 / 𝑞))) ∈ ℝ)
4645adantr 486 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) ∧ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))) → (abs‘(𝐴 − (𝑝 / 𝑞))) ∈ ℝ)
4724rpcnd 13173 . . . . . . . . . . . . . 14 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 𝑥 ∈ ℂ)
4829rpcnd 13173 . . . . . . . . . . . . . 14 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑞↑𝑁) ∈ ℂ)
4929rpne0d 13176 . . . . . . . . . . . . . 14 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑞↑𝑁) ≠ 0)
5047, 48, 49divrecd 12103 . . . . . . . . . . . . 13 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑥 / (𝑞↑𝑁)) = (𝑥 · (1 / (𝑞↑𝑁))))
5148, 38absmuld 15633 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (abs‘((𝑞↑𝑁) · (𝐹‘(𝑝 / 𝑞)))) = ((abs‘(𝑞↑𝑁)) · (abs‘(𝐹‘(𝑝 / 𝑞)))))
5229rpred 13171 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑞↑𝑁) ∈ ℝ)
5329rpge0d 13175 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 0 ≤ (𝑞↑𝑁))
5452, 53absidd 15599 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (abs‘(𝑞↑𝑁)) = (𝑞↑𝑁))
5554oveq1d 7439 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → ((abs‘(𝑞↑𝑁)) · (abs‘(𝐹‘(𝑝 / 𝑞)))) = ((𝑞↑𝑁) · (abs‘(𝐹‘(𝑝 / 𝑞)))))
5651, 55eqtrd 2795 . . . . . . . . . . . . . . . . 17 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (abs‘((𝑞↑𝑁) · (𝐹‘(𝑝 / 𝑞)))) = ((𝑞↑𝑁) · (abs‘(𝐹‘(𝑝 / 𝑞)))))
5748, 38mulcomd 11337 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → ((𝑞↑𝑁) · (𝐹‘(𝑝 / 𝑞))) = ((𝐹‘(𝑝 / 𝑞)) · (𝑞↑𝑁)))
581oveq2i 7435 . . . . . . . . . . . . . . . . . . . . 21 (𝑞↑𝑁) = (𝑞↑(deg‘𝐹))
5958oveq2i 7435 . . . . . . . . . . . . . . . . . . . 20 ((𝐹‘(𝑝 / 𝑞)) · (𝑞↑𝑁)) = ((𝐹‘(𝑝 / 𝑞)) · (𝑞↑(deg‘𝐹)))
6057, 59eqtrdi 2811 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → ((𝑞↑𝑁) · (𝐹‘(𝑝 / 𝑞))) = ((𝐹‘(𝑝 / 𝑞)) · (𝑞↑(deg‘𝐹))))
6134, 7, 8aalioulem1 26668 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → ((𝐹‘(𝑝 / 𝑞)) · (𝑞↑(deg‘𝐹))) ∈ ℤ)
6260, 61eqeltrd 2860 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → ((𝑞↑𝑁) · (𝐹‘(𝑝 / 𝑞))) ∈ ℤ)
63 simp3l 1220 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝐹‘(𝑝 / 𝑞)) ≠ 0)
6448, 38, 49, 63mulne0d 11975 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → ((𝑞↑𝑁) · (𝐹‘(𝑝 / 𝑞))) ≠ 0)
65 nnabscl 15502 . . . . . . . . . . . . . . . . . 18 ((((𝑞↑𝑁) · (𝐹‘(𝑝 / 𝑞))) ∈ ℤ ∧ ((𝑞↑𝑁) · (𝐹‘(𝑝 / 𝑞))) ≠ 0) → (abs‘((𝑞↑𝑁) · (𝐹‘(𝑝 / 𝑞)))) ∈ ℕ)
6662, 64, 65syl2anc 596 . . . . . . . . . . . . . . . . 17 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (abs‘((𝑞↑𝑁) · (𝐹‘(𝑝 / 𝑞)))) ∈ ℕ)
6756, 66eqeltrrd 2861 . . . . . . . . . . . . . . . 16 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → ((𝑞↑𝑁) · (abs‘(𝐹‘(𝑝 / 𝑞)))) ∈ ℕ)
6867nnge1d 12393 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 1 ≤ ((𝑞↑𝑁) · (abs‘(𝐹‘(𝑝 / 𝑞)))))
69 1red 11316 . . . . . . . . . . . . . . . 16 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → 1 ∈ ℝ)
7069, 39, 29ledivmuld 13224 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → ((1 / (𝑞↑𝑁)) ≤ (abs‘(𝐹‘(𝑝 / 𝑞))) ↔ 1 ≤ ((𝑞↑𝑁) · (abs‘(𝐹‘(𝑝 / 𝑞))))))
7168, 70mpbird 260 . . . . . . . . . . . . . 14 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (1 / (𝑞↑𝑁)) ≤ (abs‘(𝐹‘(𝑝 / 𝑞))))
7229rprecred 13182 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (1 / (𝑞↑𝑁)) ∈ ℝ)
7372, 39, 24lemul2d 13215 . . . . . . . . . . . . . 14 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → ((1 / (𝑞↑𝑁)) ≤ (abs‘(𝐹‘(𝑝 / 𝑞))) ↔ (𝑥 · (1 / (𝑞↑𝑁))) ≤ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞))))))
7471, 73mpbid 235 . . . . . . . . . . . . 13 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑥 · (1 / (𝑞↑𝑁))) ≤ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))))
7550, 74eqbrtrd 5126 . . . . . . . . . . . 12 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (𝑥 / (𝑞↑𝑁)) ≤ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))))
7675adantr 486 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) ∧ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))) → (𝑥 / (𝑞↑𝑁)) ≤ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))))
77 simpr 490 . . . . . . . . . . 11 ((((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) ∧ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))) → (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))
7832, 41, 46, 76, 77letrd 11474 . . . . . . . . . 10 ((((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) ∧ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))) → (𝑥 / (𝑞↑𝑁)) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))
7978olcd 888 . . . . . . . . 9 ((((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) ∧ (𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))) → (𝐴 = (𝑝 / 𝑞) ∨ (𝑥 / (𝑞↑𝑁)) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))))
8079ex 418 . . . . . . . 8 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → ((𝑥 · (abs‘(𝐹‘(𝑝 / 𝑞)))) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))) → (𝐴 = (𝑝 / 𝑞) ∨ (𝑥 / (𝑞↑𝑁)) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))))
8123, 80syld 48 . . . . . . 7 (((𝜑 ∧ 𝑥 ∈ ℝ+) ∧ (𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) ∧ ((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1)) → (∀𝑎 ∈ ℝ ((abs‘(𝐴 − 𝑎)) ≤ 1 → (𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎))) → (𝐴 = (𝑝 / 𝑞) ∨ (𝑥 / (𝑞↑𝑁)) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))))
82813exp 1137 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ ℝ+) → ((𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) → (((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1) → (∀𝑎 ∈ ℝ ((abs‘(𝐴 − 𝑎)) ≤ 1 → (𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎))) → (𝐴 = (𝑝 / 𝑞) ∨ (𝑥 / (𝑞↑𝑁)) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))))))
8382com34 92 . . . . 5 ((𝜑 ∧ 𝑥 ∈ ℝ+) → ((𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) → (∀𝑎 ∈ ℝ ((abs‘(𝐴 − 𝑎)) ≤ 1 → (𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎))) → (((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1) → (𝐴 = (𝑝 / 𝑞) ∨ (𝑥 / (𝑞↑𝑁)) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))))))
8483com23 87 . . . 4 ((𝜑 ∧ 𝑥 ∈ ℝ+) → (∀𝑎 ∈ ℝ ((abs‘(𝐴 − 𝑎)) ≤ 1 → (𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎))) → ((𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ) → (((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1) → (𝐴 = (𝑝 / 𝑞) ∨ (𝑥 / (𝑞↑𝑁)) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))))))
8584ralrimdvv 3206 . . 3 ((𝜑 ∧ 𝑥 ∈ ℝ+) → (∀𝑎 ∈ ℝ ((abs‘(𝐴 − 𝑎)) ≤ 1 → (𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎))) → ∀𝑝 ∈ ℤ ∀𝑞 ∈ ℕ (((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1) → (𝐴 = (𝑝 / 𝑞) ∨ (𝑥 / (𝑞↑𝑁)) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))))))
8685reximdva 3175 . 2 (𝜑 → (∃𝑥 ∈ ℝ+ ∀𝑎 ∈ ℝ ((abs‘(𝐴 − 𝑎)) ≤ 1 → (𝑥 · (abs‘(𝐹‘𝑎))) ≤ (abs‘(𝐴 − 𝑎))) → ∃𝑥 ∈ ℝ+ ∀𝑝 ∈ ℤ ∀𝑞 ∈ ℕ (((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1) → (𝐴 = (𝑝 / 𝑞) ∨ (𝑥 / (𝑞↑𝑁)) ≤ (abs‘(𝐴 − (𝑝 / 𝑞)))))))
876, 86mpd 16 1 (𝜑 → ∃𝑥 ∈ ℝ+ ∀𝑝 ∈ ℤ ∀𝑞 ∈ ℕ (((𝐹‘(𝑝 / 𝑞)) ≠ 0 ∧ (abs‘(𝐴 − (𝑝 / 𝑞))) ≤ 1) → (𝐴 = (𝑝 / 𝑞) ∨ (𝑥 / (𝑞↑𝑁)) ≤ (abs‘(𝐴 − (𝑝 / 𝑞))))))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   ∨ wo 861   ∧ w3a 1103   = wceq 1569   ∈ wcel 2144   ≠ wne 2955  ∀wral 3076  ∃wrex 3086   class class class wbr 5102  ⟶wf 6539  ‘cfv 6543  (class class class)co 7424  ℂcc 11205  ℝcr 11206  0cc0 11207  1c1 11208   · cmul 11212   ≤ cle 11351   − cmin 11548   / cdiv 11980  ℕcn 12342  ℤcz 12700  ℚcq 13082  ℝ+crp 13127  ↑cexp 14211  abscabs 15410  Polycply 26511  degcdgr 26514
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5327  ax-pr 5391  ax-un 7755  ax-inf2 9649  ax-cnex 11263  ax-resscn 11264  ax-1cn 11265  ax-icn 11266  ax-addcl 11267  ax-addrcl 11268  ax-mulcl 11269  ax-mulrcl 11270  ax-mulcom 11271  ax-addass 11272  ax-mulass 11273  ax-distr 11274  ax-i2m1 11275  ax-1ne0 11276  ax-1rid 11277  ax-rnegex 11278  ax-rrecex 11279  ax-cnre 11280  ax-pre-lttri 11281  ax-pre-lttrn 11282  ax-pre-ltadd 11283  ax-pre-mulgt0 11284  ax-pre-sup 11285  ax-addf 11286
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3848  df-ss 3897  df-pss 4013  df-dif 4046  df-in 4090  df-un 4150  df-nul 4278  df-if 4482  df-pw 4558  df-sn 4585  df-pr 4587  df-tp 4589  df-op 4835  df-uni 4867  df-int 4907  df-iun 4952  df-iin 4953  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5546  df-eprel 5551  df-po 5559  df-so 5560  df-fr 5604  df-se 5605  df-we 5606  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-pred 6307  df-ord 6368  df-on 6369  df-lim 6370  df-suc 6371  df-iota 6497  df-fun 6545  df-fn 6546  df-f 6547  df-f1 6548  df-fo 6549  df-f1o 6550  df-fv 6551  df-isom 6552  df-riota 7381  df-ov 7427  df-oprab 7428  df-mpo 7429  df-of 7697  df-om 7882  df-1st 8005  df-2nd 8006  df-supp 8185  df-frecs 8307  df-wrecs 8338  df-recs 8387  df-rdg 8426  df-1o 8484  df-2o 8485  df-er 8725  df-map 8857  df-pm 8858  df-ixp 8934  df-en 8982  df-dom 8983  df-sdom 8984  df-fin 8985  df-fsupp 9362  df-fi 9410  df-sup 9441  df-inf 9442  df-oi 9511  df-card 10027  df-pnf 11352  df-mnf 11353  df-xr 11354  df-ltxr 11355  df-le 11356  df-sub 11550  df-neg 11551  df-div 11981  df-nn 12343  df-2 12412  df-3 12413  df-4 12414  df-5 12415  df-6 12416  df-7 12417  df-8 12418  df-9 12419  df-n0 12614  df-z 12701  df-dec 12822  df-uz 12973  df-q 13083  df-rp 13128  df-xneg 13248  df-xadd 13249  df-xmul 13250  df-ioo 13487  df-ico 13489  df-icc 13490  df-fz 13647  df-fzo 13796  df-fl 13939  df-seq 14152  df-exp 14212  df-hash 14482  df-cj 15275  df-re 15276  df-im 15277  df-sqrt 15411  df-abs 15412  df-clim 15664  df-rlim 15665  df-sum 15863  df-struct 17334  df-sets 17351  df-slot 17369  df-ndx 17381  df-base 17397  df-ress 17418  df-plusg 17450  df-mulr 17451  df-starv 17452  df-sca 17453  df-vsca 17454  df-ip 17455  df-tset 17456  df-ple 17457  df-ds 17459  df-unif 17460  df-hom 17461  df-cco 17462  df-rest 17602  df-topn 17603  df-0g 17621  df-gsum 17622  df-topgen 17623  df-pt 17624  df-prds 17627  df-xrs 17683  df-qtop 17688  df-imas 17689  df-xps 17691  df-mre 17765  df-mrc 17766  df-acs 17768  df-mgm 18825  df-sgrp 18917  df-mnd 18933  df-submnd 18988  df-grp 19156  df-minusg 19157  df-mulg 19287  df-subg 19342  df-cntz 19540  df-cmn 20005  df-abl 20006  df-mgp 20370  df-rng 20384  df-ur 20417  df-ring 20470  df-cring 20471  df-subrng 20807  df-subrg 20831  df-psmet 21679  df-xmet 21680  df-met 21681  df-bl 21682  df-mopn 21683  df-fbas 21684  df-fg 21685  df-cnfld 21688  df-top 23221  df-topon 23238  df-topsp 23260  df-bases 23273  df-cld 23346  df-ntr 23347  df-cls 23348  df-nei 23425  df-lp 23463  df-perf 23464  df-cn 23554  df-cnp 23555  df-haus 23642  df-cmp 23714  df-tx 23890  df-hmeo 24083  df-fil 24174  df-fm 24266  df-flim 24267  df-flf 24268  df-xms 24648  df-ms 24649  df-tms 24650  df-cncf 25208  df-0p 26000  df-limc 26195  df-dv 26196  df-dvn 26197  df-cpn 26198  df-ply 26515  df-coe 26517  df-dgr 26518
This theorem is used by:  aalioulem5  26672
  Copyright terms: Public domain W3C validator