2017-05-19 26 views
5

Belirli bir kitaplıkta ispatlanmış sonuçları nasıl kullanırım? Örneğin, BinInt kitaplığından Lemma peano_ind kullanmak istiyorum. Ben CoqIDE bu yazın:Kitaplıkta kanıtlanan sonuçları kullan (Coq)

Require Import BinInt. 
Check peano_ind. 

ve "referans peano_ind akımı ortamda bulunamadı." Olsun hata. Ayrıca bir ispat sırasında apply ile kullanamıyorum.

Ancak, orada olmalıdır, çünkü bir Locate Library BinInt. ile Coq, BinInt.vo dosyasını bulabildiğimi görüyorum ve BinInt.v dosyasını açtığımda Lemma peano_ind görüyorum.

Bu sorun hem bir Debian 9.0 + CoqIDE 8.5pl2 hem de Windows 10 + CoqIDE 8.6'da var.


Bunların hepsi tamsayılar üzerinden indüksiyon yapmak istedim çünkü. Bunun için farklı bir çözüm de güzel olurdu, ancak daha önce kanıtlanmış bazı sonuçları kullanmama yeteneğim yüzünden hala hüsrana uğruyorum.

cevap

5

BinInt kütüphane farklı türleri için farklı alt modüllerin bir peano_ind birkaç tarifini yapıyor. Sen Locate peano_ind kullanarak bu bulabilirsiniz:

Constant Coq.NArith.BinNat.N.peano_ind 
    (shorter name to refer to it in current context is BinNat.N.peano_ind) 
Constant Coq.PArith.BinPos.Pos.peano_ind 
    (shorter name to refer to it in current context is Pos.peano_ind) 
Constant Coq.ZArith.BinInt.Z.peano_ind 
    (shorter name to refer to it in current context is Z.peano_ind) 

Sonra örneğin, bu nitelikli adları kullanabilirsiniz:

Check Z.peano_ind. 
Z.peano_ind 
    : forall P : Z -> Prop, 
     P 0%Z -> 
     (forall x : Z, P x -> P (Z.succ x)) -> 
     (forall x : Z, P x -> P (Z.pred x)) -> forall z : Z, P z 

Ayrıca Import Z vasıfsız adını peano_ind kullanmasına izin vermek olabilir.