den Örnek I çevrimiçi Yazılım Temelleri kitap aracılığıyla çalışarak Coq öğrenmeye çalışıyorum: Ben interaktif komut satırı Coq tercüman coqtop
kullanıyorum http://www.cis.upenn.edu/~bcpierce/sf/coq hatası. Yazılım Temelleri kitabı
.
İndüksiyon bölümünde (http://www.cis.upenn.edu/~bcpierce/sf/Induction.html), talimatları tam olarak takip ediyorum. Basics.v dosyasını coqc Basics.v
kullanarak derlerim. Sonra coqtop
başlayıp tam yazın:
Require Export Basics.
Theorem andb_true_elim1 : forall b c : bool,
andb b c = true -> b = true.
Proof.
intros b c H.
destruct b.
Case "b = true".
Her şey, bu son satırı kadar çalışıyor bu noktada ben şu hatayı alıyorum:
Toplevel input, characters 5-15:
> Case "b = true".
> ^^^^^^^^^^
Error: No interpretation for string "b = true".
neden paketten başlamak Coq için çok yeniyim Bu çalışmıyor. İlk önce Require String.
yapmam gerektiğini öneren bir şey buldum, ancak bu işe yaramadı. Bu kitapta çalışan veya bu sorunla karşılaştı mı? Düzgün çalışması için kodu nasıl alabilirim?
Bu Case anahtar sözcüğü (taktik?), SF kitabının açıklığa kavuşmadığı başka bir şeye bağımlı gibi görünüyor, ama ne olduğunu anlayamıyorum.
Mükemmel, teşekkürler, mükemmel çalışıyor. Beni induction.v dosyasına işaret etmek de gerçekten işe yaramıyordu, bende html'de vde kodu olmayacaktı. Yani, bunun anlamı, Case'ın bir dile yerleşik bir şey değil, bir kanıtı açıklama için SF yazarlarının eklediği bir şey mi? Bu yaygın bir uygulama ya da SF'nin bir şeyler yapma yoluna özgü bir şey midir? Ayrıca, "Case" şeylerinin neden basit bir yorumdan daha iyi olduğunu anladığımdan emin değilim (* case b = true *). – jcb
@quadelirus 'Case' maddeleri bir hata verir ve böylece bir şey değişirse hata ayıklamayı kolaylaştırır. Örnek: Eğer 'nat's ve indeksi (' O'') 'nin taktikleri üzerinde indüksiyon yaparsanız, bir değişiklikten sonra o bölümü çözemezsiniz, devam etmek yerine 'Case’de bir hata atar. N = S n'' ' ve “S” vakası maddelerini (hala bitmemiş) O-vakasına uygulamak. – nobody
@quadelirus Bu 'Case' işaretleyicileri, yazılım temelleri dışındaki geliştirmelerde bulunabilir, ancak başka stiller de vardır. Şahsen, "Chlipala stilini" ispatlamayı tercih ederim (yani, ispatların yeterince küçük olduğu ve herhangi bir "Case" işaretçisine ihtiyaç duymadığınıza kadar otomatikleştirmeyi tercih ederim) - bkz. Http://adam.chlipala.net/cpdt/ bir başka Coq kitap için. – nobody