>>うさぎ
いあ、すごいわ。完璧。
一つだけ突っ込ませてもらえば、

>F(n) = { a/b | aとbは互いに素、0 < a < b、n/bの小数部分が1/2以上 }
= { a/b | aとbは互いに素、0 < a < b、(n%b)/b ≥ 1/2 }
とおくわ。|F(n)|を知りたいの。
注意なんだけど、F(n)の要素として既約分数とそうでないものの区別はないわ。
たとえば 1/2 ∈ F(1) だから 3/6 ∈ F(1) でもあるの。

のところなんだけど、注意なんだけど、の部分によれば互いに素でなくても
約分したものと同一視するから、F(n)の条件にaとbは互いに素っていらなくない?
そもそも条件に互いに素があるならば、3/6 ∈ F(1) ではないわ。
というか、互いに素を無視して約分したものと同一視する考え方こそが、
あたしの発想にない、オイラー関数を使わない証明を可能にする
あなたならではの証明の肝だったんじゃないかしら。

あとコメントさせてもらえば、
>X∖Yで {x ∈ X | x ∉ Y} を表すわ。そしてbがnを割り切ることを b|n で表すわね。
これは大学以上の数学では一般的な記法だから説明はいらないんじゃない?
とも思ったけど、ここは大学より前の数学を前提としている場所だから必要ね。
あと補題2って(i)だけ一方向の命題になってるけど、逆命題も自明よね。
だけど(ii)(iii)の証明にも必要ないし省略したのよね。

それにしても、これだけのことを一人で考えて完成させたのは凄いわ。
必要最低限のことしか書いていなくてこれだけの量になる証明を
5ちゃんで見るとは思わなかったわ。
数学的センスっていうのかしら?あたしあなたに到底かなわないわ。
あたし一応数学科出てるから、知識だけはあなたよりあるかもだけど、
あなたが独学でもなんでも勉強して知識つければ、
あたしなんてすぐにでも追いつけなくなるわね。