Matematik yazmak için ispat asistanı


12

Bazı kanıt asistanını kullanarak matematiksel kanıtlar yazmak istiyorum. Her şey birinci dereceden mantık (eşitlikle) ve doğal kesinti kullanılarak yazılacaktır. Arka plan, teori (ZF) olarak belirlenmiştir. Örneğin, aşağıdaki kanıtı nasıl yazabilirim?

Aksiyom:xy(x=yz(zxzy))

Teorem:xy(z(zx)z(zy)x=y)

Yani, boş küme benzersizdir.

Kağıt ve kalem kullanarak bunu başarmak benim için çok önemli, ama gerçekten ihtiyacım olan şey doğruluğun kanıtını kontrol etmeme yardımcı olacak bir yazılım.

Teşekkür ederim.


11
İlk önce bir kanıt asistanı seçmeniz gerekiyor. Coq kullandığım şey, ama diğerleri var . Bunlardan bazıları birinci dereceden mantığa dayanmaktadır, bu nedenle ihtiyaçlarınız için daha uygun olacaktır. O zaman kanıt asistanını öğrenmeyi taahhüt etmelisin. Birkaç gün içinde, yukarıdaki gibi basit teoremleri kodlayabilmeniz ve kanıtlamanız gerekir. Bunu sizin için yapacağımızı beklemeyin. Bu şekilde hiçbir şey öğrenemezsiniz.
Dave Clarke

5
Eğer küme teorisi ile ilgileniyorsanız, tür teorisi ile ilgilenmiyorsanız o zaman Isabelle muhtemelen en basit sistemdir. Coq garip ve kafa karıştırıcı görünecek.
Mark Reitblatt

2
Yazdığınız aksiyom birinci dereceden mantık değil, ikinci dereceden mantık. Bunun nedeni, ilkinde değişkenlerin yalnızca bireyler üzerinde, ikincisinde ise değişkenlerin hem bireyler hem de kümeler arasında değişebilmesidir. Görünüşe göre, verilen aksiyomda, ve y ayarlanırken z bir bireydir. xyz
MS Dousti

9
@Sadeq: ZF'de zaten evrenin temel unsurları ayarlanmamış mı? Yani birinci dereceden mantıkta "tüm kümeler için" gibi şeyler söyleyebilmelisiniz, ki bu aksiyomda yapılan şey budur.
Robin Kothari

9
@Sadeq, Robin'in söylediği doğru, birinci dereceden bir teoridir ve soruda yazılan aksiyom da birinci derecedir . In Z F herşey setleri vs birey olarak bir şey yok, sadece kümesidir. (Bir yan not olarak, farklı değişken türleri hakkında konuşmak için ikinci veya daha yüksek mertebeden nesnelere geçmeye gerek yoktur, sadece farklı türlere ihtiyaç vardır, ikinci ve yüksek mertebeden mantık çok sıralı mantıktan oldukça farklıdır). ZFZF
Kaveh

Yanıtlar:


13

Hem Coq hem de Isabelle bunu yapabilir.

[Coq] Coq'un dayandığı CIC'de ZFC'nin nasıl kodlanacağını tartışan bir makale.

Benjamin Werner: Türlerde Kümeler, Kümelerde Türler (1997). http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.1709

[Isabelle] ZF için bir kütüphane var.

http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/library/ZF/index.html


3
Bu makale oldukça güzel olsa da, ZF'nin aksiyomatik teorisini doğrudan kodlamak için sadece türler (tip değişkenleri) ve aksiyomlar eklemenin daha pragmatik olacağını düşünüyorum, daha sonra bu aksiyomlara doğrudan itiraz ederek kanıtları yapın. Kodlama, teorilerin ifade gücü ile ilişkili olduğunu göstermek için daha fazladır.
cody

2
Bu fikirlerin bir uygulaması olduğunu da eklemeliyim, Bruno Barras tarafından: lix.polytechnique.fr/~barras/proofs/sets/index.html
cody

9

Kaveh'in önerisindeki yorumdan taşındı

İlk önce bir kanıt asistanı seçmeniz gerekiyor. Coq kullandığım şey, ama diğerleri var . Coq, üst düzey mantığa (Endüktif Yapılar Hesabı olarak adlandırılır) dayanmaktadır. Diğer kanıt asistanları birinci dereceden mantığa dayanır, bu nedenle ihtiyaçlarınız için daha uygun olabilir (yukarıdaki yorumları modulo).

O zaman kanıt asistanını öğrenmeyi taahhüt etmelisin. Bağlantılı belge Coq. Coq uzmanı olmak yıllarca özveri ve pratik gerektirir, ancak öğleden sonra basit teoremler kanıtlanabilir. Coq veya başka bir kanıt asistanını öğrenmenin anahtarı, bağlantılı makalede olduğu gibi kanıtlar yapmaktır. Sadece makaleyi okumak çok az yardımcı olacaktır, çünkü ispat asistanıyla etkileşimde bulunmanın tüm deneyimi kağıt üzerinde iyi aktarılamaz.

Birkaç gün içinde, yukarıdaki gibi basit teoremleri kodlayabilmeniz ve kanıtlamanız gerekir. Bunu sizin için yapacağımızı beklemeyin. Bu şekilde hiçbir şey öğrenemezsiniz.

Bu teoremleri kanıtlamayı başardığınızda, cevaplarınızı buraya göndermekten çekinmeyin ve belki de deneyimleriniz hakkında birkaç yorum bırakın.

Meydan okumaya hazır mısınız?


4
Coq makul bir seçimdir; ancak, xddz5 gerçekten tür teorisi yerine ZF set teorisinde çalışmak istiyorsa, belki de Mizar daha uygundur.
Timothy Chow


5

Dave Clarke Coq'u önerdi, ama gerçekten Isabelle'in ZF için bir kütüphanesi olduğunu görünce çok daha iyi bir fikir gibi görünüyor . Isabelle de çok olgun ve çok çeşitli taktikler ve uzantılar içeriyor.

Kişisel olarak Mizar'ı kullanmadım, ama iyi de olabilir.


2

aşağıdaki kanıtı nasıl yazabilirim?

Isabelle / ZF'de böyle bir şey yazabilirsiniz

theory csthquestion imports Main

begin

theorem empty_unique:
shows "\<forall> x.\<forall>y.(\<forall>z. (z\<notin>x)) \<and> (\<forall>z.(z\<notin>y)) \<longrightarrow> x=y"
    by auto

end

Gördüğünüz gibi Isabelle bunu otomatik olarak kanıtlıyor. Tabii gerçekten isterseniz daha ayrıntılı bir kanıt yazabilirsiniz.


2

Bu teorem, DC Proof 2.0 yazılımımla birlikte verilen öğreticide çalışan bir örnektir (bkz. Örnek 11). Web sitemden ücretsiz indirin http://www.dcproof.com


1
Bu, bu site için küçük bir satış ish. Bazı bilgileri yazılımınızın soruna ne şekilde uygun olduğunu söylemek için eşit bir şekilde sunabilir misiniz? Belki de bu türevin bir videosuna veya ekran görüntüsüne bir bağlantı yapılıyor?
Charles Stewart

1
İşte kanıt: dcproof.com/EmptySetUnique.htm Web sitemde sistemin nasıl çalıştığını gösteren bir video var.
Dan Christensen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.