私は過去数週間、Coq証拠アシスタントと協力してきましたが、今日は特別なことに遭遇しました。私はBenjamin Pierceの "Types and programming languages"の練習を通して練習中です。これらの演習のうちの1つでは、特定のホアレの3つ組が有効であるという自己製作プログラミング言語(Pier inの演習ではImp)を証明する必要があります。私はこの証拠をほぼ完成させましたが、私は次のものが有効であることを証明する必要があります。st X <= st Y
ここで、stはある状態であり、st Xはその状態のId Xに格納された値を返します。疑問符のついたオペレータの仮説
私の仮説の状態以下:今
st : state
H : (st X <=? st Y) = true
私の質問は何ですか? (st X <=? st Y) = true
を意味し、この定理をどのように使って目標を証明することができますか(これはHとほぼ同じです)?
「ソフトウェアファンデーション」という本はありませんか? –
@ArthurAzevedoDeAmorimはい、本当にありがとうございます。私は両方の本を使い、ちょっと混乱しました:) –
'st X'と' st Y'は自然数なので、 '<=?'と '私は 'forall mn、(m <= n)= true - > m <= n 'を証明するのですか? –