Users' Mathboxes Mathbox for Stefan O'Rear < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  irrapxlem1 Structured version   Visualization version   GIF version

Theorem irrapxlem1 43607
Description: Lemma for irrapx1 43613. Divides the unit interval into 𝐵 half-open sections and using the pigeonhole principle fphpdo 43602 finds two multiples of 𝐴 in the same section mod 1. (Contributed by Stefan O'Rear, 12-Sep-2014.)
Assertion
Ref Expression
irrapxlem1 ((𝐴 ∈ ℝ+𝐵 ∈ ℕ) → ∃𝑥 ∈ (0...𝐵)∃𝑦 ∈ (0...𝐵)(𝑥 < 𝑦 ∧ (⌊‘(𝐵 · ((𝐴 · 𝑥) mod 1))) = (⌊‘(𝐵 · ((𝐴 · 𝑦) mod 1)))))
Distinct variable groups:   𝑥,𝐴,𝑦   𝑥,𝐵,𝑦

Proof of Theorem irrapxlem1
Dummy variable 𝑎 is distinct from all other variables.
StepHypRef Expression
1 fzssuz 13610 . . . 4 (0...𝐵) ⊆ (ℤ‘0)
2 uzssz 12899 . . . . 5 (ℤ‘0) ⊆ ℤ
3 zssre 12613 . . . . 5 ℤ ⊆ ℝ
42, 3sstri 3947 . . . 4 (ℤ‘0) ⊆ ℝ
51, 4sstri 3947 . . 3 (0...𝐵) ⊆ ℝ
65a1i 11 . 2 ((𝐴 ∈ ℝ+𝐵 ∈ ℕ) → (0...𝐵) ⊆ ℝ)
7 ovexd 7454 . 2 ((𝐴 ∈ ℝ+𝐵 ∈ ℕ) → (0...(𝐵 − 1)) ∈ V)
8 nnm1nn0 12560 . . . . 5 (𝐵 ∈ ℕ → (𝐵 − 1) ∈ ℕ0)
98adantl 487 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℕ) → (𝐵 − 1) ∈ ℕ0)
10 nn0uz 12916 . . . 4 0 = (ℤ‘0)
119, 10eleqtrdi 2875 . . 3 ((𝐴 ∈ ℝ+𝐵 ∈ ℕ) → (𝐵 − 1) ∈ (ℤ‘0))
12 nnz 12627 . . . 4 (𝐵 ∈ ℕ → 𝐵 ∈ ℤ)
1312adantl 487 . . 3 ((𝐴 ∈ ℝ+𝐵 ∈ ℕ) → 𝐵 ∈ ℤ)
14 nnre 12255 . . . . 5 (𝐵 ∈ ℕ → 𝐵 ∈ ℝ)
1514adantl 487 . . . 4 ((𝐴 ∈ ℝ+𝐵 ∈ ℕ) → 𝐵 ∈ ℝ)
1615ltm1d 12162 . . 3 ((𝐴 ∈ ℝ+𝐵 ∈ ℕ) → (𝐵 − 1) < 𝐵)
17 fzsdom2 14483 . . 3 ((((𝐵 − 1) ∈ (ℤ‘0) ∧ 𝐵 ∈ ℤ) ∧ (𝐵 − 1) < 𝐵) → (0...(𝐵 − 1)) ≺ (0...𝐵))
1811, 13, 16, 17syl21anc 851 . 2 ((𝐴 ∈ ℝ+𝐵 ∈ ℕ) → (0...(𝐵 − 1)) ≺ (0...𝐵))
1914ad2antlr 740 . . . . . 6 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → 𝐵 ∈ ℝ)
20 rpre 13041 . . . . . . . . 9 (𝐴 ∈ ℝ+𝐴 ∈ ℝ)
2120ad2antrr 739 . . . . . . . 8 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → 𝐴 ∈ ℝ)
22 elfzelz 13568 . . . . . . . . . 10 (𝑎 ∈ (0...𝐵) → 𝑎 ∈ ℤ)
2322zred 12716 . . . . . . . . 9 (𝑎 ∈ (0...𝐵) → 𝑎 ∈ ℝ)
2423adantl 487 . . . . . . . 8 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → 𝑎 ∈ ℝ)
2521, 24remulcld 11254 . . . . . . 7 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (𝐴 · 𝑎) ∈ ℝ)
26 1rp 13036 . . . . . . 7 1 ∈ ℝ+
27 modcl 13924 . . . . . . 7 (((𝐴 · 𝑎) ∈ ℝ ∧ 1 ∈ ℝ+) → ((𝐴 · 𝑎) mod 1) ∈ ℝ)
2825, 26, 27sylancl 598 . . . . . 6 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → ((𝐴 · 𝑎) mod 1) ∈ ℝ)
2919, 28remulcld 11254 . . . . 5 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (𝐵 · ((𝐴 · 𝑎) mod 1)) ∈ ℝ)
3029flcld 13849 . . . 4 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ∈ ℤ)
3119recnd 11252 . . . . . . . . 9 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → 𝐵 ∈ ℂ)
3231mul01d 11424 . . . . . . . 8 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (𝐵 · 0) = 0)
33 modge0 13930 . . . . . . . . . 10 (((𝐴 · 𝑎) ∈ ℝ ∧ 1 ∈ ℝ+) → 0 ≤ ((𝐴 · 𝑎) mod 1))
3425, 26, 33sylancl 598 . . . . . . . . 9 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → 0 ≤ ((𝐴 · 𝑎) mod 1))
35 0red 11226 . . . . . . . . . 10 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → 0 ∈ ℝ)
36 nngt0 12282 . . . . . . . . . . 11 (𝐵 ∈ ℕ → 0 < 𝐵)
3736ad2antlr 740 . . . . . . . . . 10 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → 0 < 𝐵)
38 lemul2 12083 . . . . . . . . . 10 ((0 ∈ ℝ ∧ ((𝐴 · 𝑎) mod 1) ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → (0 ≤ ((𝐴 · 𝑎) mod 1) ↔ (𝐵 · 0) ≤ (𝐵 · ((𝐴 · 𝑎) mod 1))))
3935, 28, 19, 37, 38syl112anc 1401 . . . . . . . . 9 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (0 ≤ ((𝐴 · 𝑎) mod 1) ↔ (𝐵 · 0) ≤ (𝐵 · ((𝐴 · 𝑎) mod 1))))
4034, 39mpbid 235 . . . . . . . 8 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (𝐵 · 0) ≤ (𝐵 · ((𝐴 · 𝑎) mod 1)))
4132, 40eqbrtrrd 5137 . . . . . . 7 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → 0 ≤ (𝐵 · ((𝐴 · 𝑎) mod 1)))
4235, 29lenltd 11371 . . . . . . 7 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (0 ≤ (𝐵 · ((𝐴 · 𝑎) mod 1)) ↔ ¬ (𝐵 · ((𝐴 · 𝑎) mod 1)) < 0))
4341, 42mpbid 235 . . . . . 6 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → ¬ (𝐵 · ((𝐴 · 𝑎) mod 1)) < 0)
44 0z 12617 . . . . . . 7 0 ∈ ℤ
45 fllt 13857 . . . . . . 7 (((𝐵 · ((𝐴 · 𝑎) mod 1)) ∈ ℝ ∧ 0 ∈ ℤ) → ((𝐵 · ((𝐴 · 𝑎) mod 1)) < 0 ↔ (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) < 0))
4629, 44, 45sylancl 598 . . . . . 6 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → ((𝐵 · ((𝐴 · 𝑎) mod 1)) < 0 ↔ (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) < 0))
4743, 46mtbid 327 . . . . 5 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → ¬ (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) < 0)
4830zred 12716 . . . . . 6 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ∈ ℝ)
4935, 48lenltd 11371 . . . . 5 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (0 ≤ (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ↔ ¬ (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) < 0))
5047, 49mpbird 260 . . . 4 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → 0 ≤ (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))))
51 elnn0z 12619 . . . 4 ((⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ∈ ℕ0 ↔ ((⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ∈ ℤ ∧ 0 ≤ (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1)))))
5230, 50, 51sylanbrc 595 . . 3 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ∈ ℕ0)
538ad2antlr 740 . . 3 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (𝐵 − 1) ∈ ℕ0)
54 flle 13850 . . . . . . 7 ((𝐵 · ((𝐴 · 𝑎) mod 1)) ∈ ℝ → (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ≤ (𝐵 · ((𝐴 · 𝑎) mod 1)))
5529, 54syl 18 . . . . . 6 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ≤ (𝐵 · ((𝐴 · 𝑎) mod 1)))
56 modlt 13931 . . . . . . . . 9 (((𝐴 · 𝑎) ∈ ℝ ∧ 1 ∈ ℝ+) → ((𝐴 · 𝑎) mod 1) < 1)
5725, 26, 56sylancl 598 . . . . . . . 8 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → ((𝐴 · 𝑎) mod 1) < 1)
58 1red 11224 . . . . . . . . 9 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → 1 ∈ ℝ)
59 ltmul2 12081 . . . . . . . . 9 ((((𝐴 · 𝑎) mod 1) ∈ ℝ ∧ 1 ∈ ℝ ∧ (𝐵 ∈ ℝ ∧ 0 < 𝐵)) → (((𝐴 · 𝑎) mod 1) < 1 ↔ (𝐵 · ((𝐴 · 𝑎) mod 1)) < (𝐵 · 1)))
6028, 58, 19, 37, 59syl112anc 1401 . . . . . . . 8 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (((𝐴 · 𝑎) mod 1) < 1 ↔ (𝐵 · ((𝐴 · 𝑎) mod 1)) < (𝐵 · 1)))
6157, 60mpbid 235 . . . . . . 7 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (𝐵 · ((𝐴 · 𝑎) mod 1)) < (𝐵 · 1))
6231mulridd 11241 . . . . . . 7 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (𝐵 · 1) = 𝐵)
6361, 62breqtrd 5139 . . . . . 6 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (𝐵 · ((𝐴 · 𝑎) mod 1)) < 𝐵)
6448, 29, 19, 55, 63lelttrd 11383 . . . . 5 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) < 𝐵)
65 nncn 12256 . . . . . . 7 (𝐵 ∈ ℕ → 𝐵 ∈ ℂ)
66 ax-1cn 11173 . . . . . . 7 1 ∈ ℂ
67 npcan 11481 . . . . . . 7 ((𝐵 ∈ ℂ ∧ 1 ∈ ℂ) → ((𝐵 − 1) + 1) = 𝐵)
6865, 66, 67sylancl 598 . . . . . 6 (𝐵 ∈ ℕ → ((𝐵 − 1) + 1) = 𝐵)
6968ad2antlr 740 . . . . 5 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → ((𝐵 − 1) + 1) = 𝐵)
7064, 69breqtrrd 5141 . . . 4 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) < ((𝐵 − 1) + 1))
7112ad2antlr 740 . . . . . 6 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → 𝐵 ∈ ℤ)
72 1z 12639 . . . . . 6 1 ∈ ℤ
73 zsubcl 12651 . . . . . 6 ((𝐵 ∈ ℤ ∧ 1 ∈ ℤ) → (𝐵 − 1) ∈ ℤ)
7471, 72, 73sylancl 598 . . . . 5 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (𝐵 − 1) ∈ ℤ)
75 zleltp1 12660 . . . . 5 (((⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ∈ ℤ ∧ (𝐵 − 1) ∈ ℤ) → ((⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ≤ (𝐵 − 1) ↔ (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) < ((𝐵 − 1) + 1)))
7630, 74, 75syl2anc 596 . . . 4 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → ((⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ≤ (𝐵 − 1) ↔ (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) < ((𝐵 − 1) + 1)))
7770, 76mpbird 260 . . 3 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ≤ (𝐵 − 1))
78 elfz2nn0 13663 . . 3 ((⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ∈ (0...(𝐵 − 1)) ↔ ((⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ∈ ℕ0 ∧ (𝐵 − 1) ∈ ℕ0 ∧ (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ≤ (𝐵 − 1)))
7952, 53, 77, 78syl3anbrc 1362 . 2 (((𝐴 ∈ ℝ+𝐵 ∈ ℕ) ∧ 𝑎 ∈ (0...𝐵)) → (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) ∈ (0...(𝐵 − 1)))
80 oveq2 7427 . . . . 5 (𝑎 = 𝑥 → (𝐴 · 𝑎) = (𝐴 · 𝑥))
8180oveq1d 7434 . . . 4 (𝑎 = 𝑥 → ((𝐴 · 𝑎) mod 1) = ((𝐴 · 𝑥) mod 1))
8281oveq2d 7435 . . 3 (𝑎 = 𝑥 → (𝐵 · ((𝐴 · 𝑎) mod 1)) = (𝐵 · ((𝐴 · 𝑥) mod 1)))
8382fveq2d 6889 . 2 (𝑎 = 𝑥 → (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) = (⌊‘(𝐵 · ((𝐴 · 𝑥) mod 1))))
84 oveq2 7427 . . . . 5 (𝑎 = 𝑦 → (𝐴 · 𝑎) = (𝐴 · 𝑦))
8584oveq1d 7434 . . . 4 (𝑎 = 𝑦 → ((𝐴 · 𝑎) mod 1) = ((𝐴 · 𝑦) mod 1))
8685oveq2d 7435 . . 3 (𝑎 = 𝑦 → (𝐵 · ((𝐴 · 𝑎) mod 1)) = (𝐵 · ((𝐴 · 𝑦) mod 1)))
8786fveq2d 6889 . 2 (𝑎 = 𝑦 → (⌊‘(𝐵 · ((𝐴 · 𝑎) mod 1))) = (⌊‘(𝐵 · ((𝐴 · 𝑦) mod 1))))
886, 7, 18, 79, 83, 87fphpdo 43602 1 ((𝐴 ∈ ℝ+𝐵 ∈ ℕ) → ∃𝑥 ∈ (0...𝐵)∃𝑦 ∈ (0...𝐵)(𝑥 < 𝑦 ∧ (⌊‘(𝐵 · ((𝐴 · 𝑥) mod 1))) = (⌊‘(𝐵 · ((𝐴 · 𝑦) mod 1)))))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3  wi 4  wb 209  wa 401   = wceq 1570  wcel 2146  wrex 3091  wss 3906   class class class wbr 5111  cfv 6540  (class class class)co 7419  csdm 8948  cc 11113  cr 11114  0cc0 11115  1c1 11116   + caddc 11118   · cmul 11120   < clt 11258  cle 11259  cmin 11456  cn 12248  0cn0 12519  cz 12606  cuz 12878  +crp 13032  ...cfz 13551  cfl 13841   mod cmo 13920
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2737  ax-rep 5240  ax-sep 5259  ax-nul 5271  ax-pow 5338  ax-pr 5406  ax-un 7742  ax-cnex 11171  ax-resscn 11172  ax-1cn 11173  ax-icn 11174  ax-addcl 11175  ax-addrcl 11176  ax-mulcl 11177  ax-mulrcl 11178  ax-mulcom 11179  ax-addass 11180  ax-mulass 11181  ax-distr 11182  ax-i2m1 11183  ax-1ne0 11184  ax-1rid 11185  ax-rnegex 11186  ax-rrecex 11187  ax-cnre 11188  ax-pre-lttri 11189  ax-pre-lttrn 11190  ax-pre-ltadd 11191  ax-pre-mulgt0 11192  ax-pre-sup 11193
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2569  df-eu 2599  df-clab 2744  df-cleq 2757  df-clel 2840  df-nfc 2914  df-ne 2961  df-nel 3067  df-ral 3082  df-rex 3092  df-rmo 3371  df-reu 3372  df-rab 3419  df-v 3459  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4287  df-if 4490  df-pw 4566  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4875  df-int 4915  df-iun 4960  df-br 5112  df-opab 5176  df-mpt 5195  df-tr 5221  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-we 5618  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-pred 6306  df-ord 6367  df-on 6368  df-lim 6369  df-suc 6370  df-iota 6496  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-riota 7376  df-ov 7422  df-oprab 7423  df-mpo 7424  df-om 7869  df-1st 7992  df-2nd 7993  df-frecs 8284  df-wrecs 8315  df-recs 8364  df-rdg 8403  df-1o 8459  df-oadd 8463  df-er 8700  df-en 8950  df-dom 8951  df-sdom 8952  df-fin 8953  df-sup 9409  df-inf 9410  df-card 9941  df-pnf 11260  df-mnf 11261  df-xr 11262  df-ltxr 11263  df-le 11264  df-sub 11458  df-neg 11459  df-div 11887  df-nn 12249  df-n0 12520  df-xnn0 12593  df-z 12607  df-uz 12879  df-rp 13033  df-fz 13552  df-fl 13843  df-mod 13921  df-hash 14385
This theorem is used by:  irrapxlem2  43608
  Copyright terms: Public domain W3C validator