私はIsar証明で規則linordered_field_class.frac_le
を使用しようとしています。ここでコードスニペットがあります(これは証拠の前の部分に依存するかもしれませんが、それはそうではありません)。 n
はnat型です。なぜ 'linordered_field_class.frac_le'ルールは機能しませんか? (Isabelle)
...
then have 4:"2 ≤ (2^(n+1)::real)" by simp
have 1:"(0::real)≤(1::real)" by simp
have 2: "1≤(1::real)" by simp
have 3:"(0::real)≤(2::real)" by simp
from 1 2 3 4 have "1/(2^(n+1))≤1/(2::real)" by (rule linordered_field_class.frac_le)
私はルールを正しく適用したと思いますが、「失敗しました」という文句を言います。私はそれがタイプエラーかもしれないと思ったので、余計に:: real
と、私はそれを修正することができませんでした。誰が問題であるかも知っているのか、それを修正する方法は誰にも分かりますか?あるいは、そのような声明を証明する別の方法です。