Apa sebenarnya perbedaan semantik antara set dan tipe?

33

EDIT: Saya sekarang telah mengajukan pertanyaan serupa tentang perbedaan antara kategori dan set.

Setiap kali saya membaca tentang teori jenis (yang memang agak informal), saya tidak dapat benar-benar memahami perbedaannya dari teori himpunan, secara konkret .

Saya mengerti bahwa ada perbedaan konseptual antara mengatakan "x milik himpunan X" dan "x bertipe X", karena secara intuitif, himpunan hanyalah kumpulan objek, sedangkan jenis memiliki "properti" tertentu. Namun demikian, himpunan sering didefinisikan sesuai dengan sifat juga, dan jika ya, maka saya mengalami kesulitan memahami bagaimana perbedaan ini penting.

Jadi dengan cara yang paling konkrit mungkin, apa sebenarnya yang disiratkan tentangx untuk mengatakan bahwa itu adalah tipe , dibandingkan dengan mengatakan bahwa itu adalah elemen dalam himpunan ?STS

(Anda dapat memilih jenis dan set apa pun yang membuat perbandingan menjadi paling jelas).

pengguna56834
sumber
Apa konteks di mana Anda menggunakan / mendengar kata "ketik"? Apakah itu, seperti yang disarankan oleh nama Anda, bahasa pemrograman? Karena saya pikir jawaban di bawah mengasumsikan sebaliknya.
einpoklum - mengembalikan Monica
@einpoklum, saya tidak 100% yakin bagaimana menggambarkan "konteks" itu, tetapi pada dasarnya sesuatu seperti: Saya mencoba memahami peran tipe dalam matematika. Pada dasarnya, set (seperti yang saya lihat) memiliki dua konteks: pertama mereka digunakan sebagai kumpulan objek untuk melakukan matematika sehari-hari. Kedua, mereka adalah objek dalam teori himpunan aksiomatik, di mana mereka sebagian besar digunakan sebagai alat yang sangat aneh tapi membantu untuk berbicara tentang matematika dalam logika urutan pertama, dengan membiarkan set sesuai dengan fungsi dan angka dan sebagainya. Saya terutama tertarik pada hubungan antara "set" dalam arti pertama dan "tipe".
user56834
Peran jenis apa? Jenis yang Anda lihat di makalah matematika / buku teks, atau jenis variabel dalam program komputer?
einpoklum - mengembalikan Monica
1
@einpoklum, pertanyaan ini adalah tentang yang ada di makalah matematika. (Meskipun saya sebenarnya juga tertarik untuk mengetahui perbedaan mendasar antara jenis dalam matematika dan jenis dalam bahasa pemrograman, jika ada. Tapi bukan itu pertanyaannya).
user56834

Jawaban:

29

Untuk memahami perbedaan antara set dan tipe, kita harus kembali ke ide pra- matematis tentang "koleksi" dan "konstruksi", dan melihat bagaimana set dan jenis membuat matematisasinya .

Ada spektrum kemungkinan tentang apa itu matematika. Dua di antaranya adalah:

  1. Kami menganggap matematika sebagai aktivitas di mana objek matematika dikonstruksi sesuai dengan beberapa aturan (anggap geometri sebagai aktivitas membangun titik, garis, dan lingkaran dengan penggaris dan kompas). Dengan demikian objek matematika diatur sesuai dengan bagaimana mereka dibangun , dan ada berbagai jenis konstruksi. Objek matematika selalu dikonstruksikan dalam beberapa cara unik, yang menentukan tipe uniknya.

  2. Kami menganggap matematika sebagai alam semesta luas yang penuh dengan objek matematika yang sudah ada sebelumnya (pikirkan bidang geometris seperti yang diberikan). Kami menemukan, menganalisis, dan berpikir tentang objek-objek ini (kami mengamati bahwa ada titik, garis, dan lingkaran di pesawat). Kami mengumpulkan mereka ke dalam set . Biasanya kita mengumpulkan elemen yang memiliki kesamaan (misalnya, semua garis melewati titik tertentu), tetapi pada prinsipnya satu set dapat menyatukan pemilihan objek yang sewenang-wenang. Satu set ditentukan oleh elemen-elemennya, dan hanya oleh elemen-elemennya. Objek matematika mungkin milik banyak set.

Kami tidak mengatakan bahwa kemungkinan di atas adalah hanya dua, atau bahwa salah satu dari mereka benar-benar menggambarkan apa itu matematika. Namun demikian, masing-masing dapat melihat dapat berfungsi sebagai titik awal yang berguna untuk teori matematika umum yang bermanfaat menggambarkan berbagai kegiatan matematika.

Itu wajar untuk mengambil jenis dan membayangkan koleksi semua hal yang kita dapat membangun menggunakan aturan . Ini adalah ekstensi dari , dan itu bukan itu sendiri. Misalnya, berikut adalah dua jenis yang memiliki aturan konstruksi berbeda, tetapi mereka memiliki ekstensi yang sama:T T TTTT T

  1. Jenis pasangan mana dibangun sebagai bilangan alami, dan dibangun sebagai bukti yang menunjukkan bahwa adalah bilangan prima genap yang lebih besar dari .n p n 3(n,p)npn3

  2. Jenis pasangan mana dibangun sebagai bilangan alami, dan dibangun sebagai bukti yang menunjukkan bahwa adalah bilangan prima ganjil yang lebih kecil dari .m q m 2(m,q)mqm2

Ya, ini adalah contoh sepele konyol, tetapi intinya adalah: kedua jenis tidak memiliki dalam ekstensi mereka, tetapi mereka memiliki aturan konstruksi yang berbeda . Sebaliknya, set dan yang sama karena mereka memiliki unsur yang sama.{ m Nm  adalah bilangan prima yang lebih kecil dari  2 }

{nNn is an even prime larger than 3}
{mNm is an odd prime smaller than 2}

Perhatikan bahwa teori tipe bukan tentang sintaks. Ini adalah teori konstruksi matematika, seperti teori himpunan adalah teori koleksi matematika. Kebetulan bahwa presentasi yang biasa dari teori tipe menekankan sintaksis, dan akibatnya orang akhirnya berpikir teori tipe adalah sintaksis. Ini bukan kasusnya. Untuk membingungkan objek matematika (konstruksi) dengan ekspresi sintaksis yang mewakilinya (istilah sebelumnya) adalah kesalahan kategori dasar yang telah membingungkan para ahli logika untuk waktu yang lama, tetapi tidak lagi.

Andrej Bauer
sumber
1
Cantik terimakasih! Bisakah Anda mengklarifikasi satu detail? ketika Anda mencantumkan dua jenis yang ekstensi keduanya kosong, Anda mengatakan bahwa "jenis yang elemennya adalah ...". Murni untuk kejelasan saya, apakah ini cara yang benar 100% untuk mengatakannya? Anda mengatakan dalam kalimat sebelumnya bahwa suatu jenis bukan koleksi, jadi sepertinya tidak dapat memiliki "elemen" (yang saya kaitkan dengan set). Pada dasarnya, cara Anda menulisnya sekarang, seolah-olah Anda mendefinisikan Jenis berdasarkan set yang merupakan perluasannya. Jika Anda tidak berniat ini, dapatkah Anda ulangi mereka lebih tepat untuk menangkap ide mereka sebagai tipe?
user56834
The ekstensi jenis adalah sebuah konsep yang sangat berguna, dan karena itu adalah semacam koleksi, kita dapat mengatakan "unsur perpanjangan tipe". Ini rumit sehingga sering disingkat menjadi hanya "elemen tipe". Saya menghapus frasa untuk mengurangi kemungkinan kebingungan, tetapi berhati-hatilah, itu istilah umum.
Andrej Bauer
Terima kasih, ini menjelaskan. Jadi untuk menindaklanjuti, apakah benar mengatakan yang berikut? Mengatakan bahwa suatu objek adalah "dari tipe T" berarti hal yang sama dengan, objek adalah "elemen dari perluasan T", sehingga ada lonjakan alami dari tipe ke set. Tetapi kebalikannya tidak berlaku, karena setiap set dapat dibangun dengan berbagai cara. Pada dasarnya, perbedaan antara himpunan dan jenis tidak penting dari perspektif objek tertentu , dalam arti bahwa dan (di mana adalah ekstensi dari ) memberi kita informasi yang sama persis tentang . Namun,x : T x X T X T T xxx:TxXTXTTx
user56834
Perbedaannya relevan ketika kita ingin berbicara tentang tipe dan set, serta sifat dan hubungannya. Jadi dengan kata lain, informasi yang kita kehilangan ketika kita mengatakan daripada tidak memberi tahu kita apa pun yang relevan tentang , tetapi hal yang sama mungkin tidak berlaku jika kita misalnya ingin berbicara tentang superset-subset atau jenis- hubungan subtipe? Apakah itu benar? x : T xxXTx:Tx
user56834
4
Ya, orang bertanya-tanya di mana buku-buku ini. Seseorang harus menulisnya.
Andrej Bauer
11

Untuk memulai, set dan jenis bahkan tidak di arena yang sama. Set adalah objek dari teori orde pertama, seperti teori set ZFC. Sedangkan tipe seperti jenis ditumbuhi. Dengan kata lain, teori himpunan adalah teori tingkat pertama dalam logika tingkat pertama. Teori tipe adalah perpanjangan dari logika itu sendiri. Teori Tipe Martin-Löf, misalnya, tidak disajikan sebagai teori tingkat pertama dalam logika tingkat pertama. Tidak umum berbicara tentang set dan tipe pada saat yang sama.

Seperti status kadal Diskrit, jenis (dan jenis) melayani fungsi sintaksis. Semacam / tipe berperilaku sebagai kategori sintaksis . Ini memberi tahu kita ekspresi apa yang terbentuk dengan baik. Untuk contoh sederhana menggunakan macam, katakanlah kita menggambarkan teori ruang vektor di atas bidang arbitrer sebagai teori 2-diurutkan. Kami memiliki semacam untuk skalar, , dan semacam untuk vektor, . Di antara banyak hal lainnya, kami akan memiliki operasi untuk skala: . Ini memberi tahu kita bahwa sama sekali bukan istilah yang dibentuk dengan baik. Dalam konteks teori tipe, ekspresi seperti membutuhkan untuk memiliki tipeV s c a l e : S × VV s c a l e ( s c a l e ( s , v ) , v ) f ( x ) f X Y X Y f f ( x ) ( x : X )SVscale:S×VVscale(scale(s,v),v)f(x)fXY untuk beberapa jenis dan . Jika tidak memiliki tipe fungsi, maka sama sekali bukan ekspresi yang terbentuk dengan baik. Apakah suatu ekspresi memiliki semacam atau memiliki beberapa jenis adalah pernyataan meta-logis. Tidak masuk akal untuk menulis sesuatu seperti: . Pertama, sama sekali bukan formula, dan kedua, bahkan secara konseptual tidak masuk akal karena jenis / tipe adalah apa yang memberi tahu kita formula mana yang terbentuk dengan baik. Kami hanya mempertimbangkan nilai kebenaran dari formula yang dibentuk dengan baik, jadi pada saat kami mempertimbangkan apakah beberapa formula berlaku, lebih baik kita sudah tahu bahwa formula tersebut telah terbentuk dengan baik!XYff(x)x : X(x:X)y=3x:X

Dalam teori himpunan, dan khususnya ZFC, satu-satunya simbol yang tidak logis sama sekali adalah simbol relasi untuk set keanggotaan, . Jadi adalah formula yang terbentuk dengan nilai kebenaran. Tidak ada istilah selain variabel. Semua notasi yang biasa tentang teori himpunan adalah perpanjangan definisi untuk ini. Misalnya, rumus seperti sering dianggap sebagai singkatan untuk yang dengan sendirinya dapat dianggap sebagai singkatan untuk yang merupakan kependekan dari Bagaimanapun, set apa pun dapat mengambil tempat dan semuanya sudah diatur!x y f ( x ) = y ( x , y ) f p . p f p = ( x , y ) p . p f ( z . z pxyf(x)=y(x,y)fp.pfp=(x,y)f π ( 7 ) = 3 π f ( x ) = { N , jika  x = 1 7 , jika  x = Q x R R , jika  x = ( Z , N )

p.pf(z.zp[z=x(w.wzw=y)])
fSeperti yang saya tunjukkan dalam pertanyaan yang berbeda baru-baru ini, mana adalah bilangan real adalah benar-benar sah dan bermakna (dan bahkan mungkin benar) menetapkan ekspresi teoretis. Pada dasarnya, apa pun yang Anda tulis yang diuraikan dalam teori himpunan dapat diberi makna. Ini mungkin makna yang sepenuhnya palsu, tetapi memiliki satu makna. Set juga merupakan objek "kelas satu" dalam teori set. (Mereka lebih baik seperti mereka adalah satu - satunya objek biasanya.) Fungsi sepertiπ(7)=3π
f(x)={N,if x=17,if x=QxRR,if x=(Z,N)
adalah fungsi yang sepenuhnya sah dalam teori himpunan. Tidak ada yang bahkan analog dengan teori tipe ini. Yang terdekat adalah dengan menggunakan kode untuk alam semesta Tarskian. Himpunan adalah objek dari teori himpunan; tipe bukan objek dari teori tipe.

Suatu tipe bukanlah kumpulan dari hal-hal (tidak ada satu set pun dalam hal ini ...), dan itu tidak didefinisikan oleh properti. Tipe adalah kategori sintaksis yang memungkinkan Anda mengetahui operasi apa yang berlaku untuk istilah tipe itu dan ekspresi mana yang terbentuk dengan baik. Dari perspektif proposisi-sebagai-tipe, tipe apa yang mengklasifikasikan adalah bukti valid dari proposisi yang sesuai dengan tipe tersebut. Yaitu, istilah yang dibentuk dengan baik (yaitu diketik dengan baik) dari jenis yang diberikan sesuai dengan bukti yang valid (yang juga merupakan objek sintaksis) dari proposisi yang sesuai. Tidak ada yang seperti ini yang terjadi dalam teori himpunan.

Teori himpunan dan teori jenis benar-benar tidak sama.

Derek Elkins
sumber
1
Adalah salah bahwa tipe hanya entitas sintaksis.
Andrej Bauer
1
Ini sangat membantu, tetapi satu poin utama dalam jawaban Anda mengganggu saya. Tampak bagi saya bahwa itu adalah kesalahan (yang dilakukan banyak orang, atau sebagai alternatif itu bukan kesalahan dan saya salah), untuk mengatakan bahwa "satu set bukanlah kumpulan hal-hal". Saya akan mengatakan bahwa satu set ADALAH kumpulan hal-hal. Itu adalah properti esensial paling mendasar dari suatu set. Faktanya, bagaimana kita bisa tahu bahwa misalnya ZFC adalah aksioma yang tepat untuk dipilih (bukan formula yang sepenuhnya arbitrer), tanpa bisa mengatakan bahwa itu benar mengingat set adalah koleksi objek? Tentu saja, saya mengerti bahwa ...
user56834
Teori himpunan aksiomatik memperlakukan himpunan sebagai objek, dan hanya sebagai simbol, karena teori himpunan aksiomatik bukanlah struktur matematika dalam pengertian logika matematika.
user56834
1
@ Programmer2134 Untuk menjawab itu, kita harus masuk ke makna semantik dari kata "koleksi." Kami tidak dapat memastikan mereka "benar" kecuali jika Anda meluangkan waktu untuk secara tepat mendefinisikan apa yang "benar" artinya. Namun, yang dapat kita katakan adalah bahwa "set" adalah hasil dari lebih dari seratus tahun matematikawan mengalahkan konsep koleksi, mencari sistem yang konsisten yang cocok dengan konsep intuitif koleksi. Untuk mencapai konsistensi itu, mereka harus membuat keputusan. Misalnya, set bukan satu-satunya koleksi dalam matematika. "Kelas" juga menjelaskan koleksi.
Cort Ammon - Pasang kembali Monica
1
@AndrejBauer Saya mengambil sikap (sebagian besar) non-filosofis dan tidak mencoba menjelaskan apa jenis "sebenarnya" tetapi lebih bagaimana mereka digunakan. (Saya katakan "berfungsi sebagai" dan "berperilaku" di awal tetapi saya tergelincir ke "adalah" di akhir.) Ada risiko berpikir bahwa variabel menjadi tipe berarti bahwa satu-satunya "nilai" yang dapat "mengambil" adalah (mungkin ditutup) hal jenis . Ini tidak benar dan tidak tersirat oleh apa yang saya katakan di atas. Saya setuju bahwa Anda dapat melihat jenis lebih dari entitas sintaksis, tetapi saya pikir jenis peran sintaksis yang berbeda membuat perbedaan yang jelas dengan set. T x TxTxT
Derek Elkins
9

Dalam prakteknya, mengklaim bahwa menjadi tipe biasanya digunakan untuk menggambarkan sintaks , sementara mengklaim bahwa adalah di set yang biasanya digunakan untuk menunjukkan semantik properti. Saya akan memberikan beberapa contoh untuk menjelaskan perbedaan dalam penggunaan tipe dan set ini. Untuk perbedaan dalam apa jenis dan set sebenarnya adalah , saya lihat jawaban Andrej Bauer .T x SxT xS

Sebuah contoh

Untuk memperjelas perbedaan ini, saya akan menggunakan contoh yang diberikan dalam catatan kuliah Herman Geuvers . Pertama, kita melihat contoh menghuni suatu tipe:

3+(78)5:Nat,
dan contoh menjadi anggota dari set:
3{nNx,y,zN+(xn+ynzn)}

Perbedaan utama di sini adalah untuk menguji apakah ekspresi pertama adalah bilangan alami, kita tidak harus menghitung makna semantik, kita hanya harus 'membaca' fakta bahwa semua literal bertipe Nat dan semua operator ditutup pada tipe Nat.

Namun, untuk contoh kedua dari himpunan, kita harus menentukan makna semantik dari dalam konteks himpunan. Untuk set khusus ini, ini cukup sulit: keanggotaan untuk set ini setara dengan membuktikan teorema terakhir Fermat! Perhatikan bahwa, seperti yang dinyatakan dalam catatan, perbedaan antara sintaksis dan semantik tidak selalu dapat digambarkan dengan jelas. (dan Anda bahkan mungkin berpendapat bahwa bahkan contoh ini tidak jelas, seperti yang disebutkan Programmer2134 dalam komentar)33

Algoritma vs Bukti

Untuk meringkas, tipe sering digunakan untuk klaim 'sederhana' pada sintaksis beberapa ekspresi, sehingga keanggotaan tipe dapat diperiksa oleh suatu algoritma , sementara untuk menguji keanggotaan set, kita biasanya membutuhkan bukti .

Untuk melihat mengapa perbedaan ini bermanfaat, pertimbangkan kompiler dari bahasa pemrograman yang diketik. Jika kompiler ini harus membuat bukti formal untuk 'memeriksa jenis', kompiler diminta untuk melakukan tugas yang hampir mustahil (pembuktian teorema otomatis, secara umum, sulit). Jika di sisi lain kompiler hanya dapat menjalankan algoritma (efisien) untuk memeriksa jenis, maka secara realistis dapat melakukan tugas.

Motivasi untuk interpretasi yang ketat

Ada beberapa interpretasi makna semantik set dan tipe. Sementara di bawah perbedaan yang dibuat di sini tipe dan tipe ekstensional dengan pemeriksaan tipe yang tidak dapat dipastikan (seperti yang digunakan dalam NuPRL, seperti yang disebutkan dalam komentar) tidak akan menjadi 'tipe', yang lain tentu saja bebas untuk memanggilnya seperti itu (sama seperti gratis karena mereka akan memanggil mereka sesuatu yang lain, asalkan definisi mereka sesuai).

Namun, kami (Herman Geuvers dan saya), lebih suka untuk tidak membuang penafsiran ini dari jendela, yang saya (bukan Herman, meskipun dia mungkin setuju) memiliki motivasi berikut:

Pertama-tama, maksud interpretasi ini tidak jauh dari Andrej Bauer. Maksud dari sintaks biasanya untuk menggambarkan bagaimana membangun sesuatu dan memiliki algoritma untuk benar-benar membangunnya umumnya bermanfaat. Selain itu, fitur dari set biasanya hanya diperlukan ketika kita menginginkan deskripsi semantik, yang memungkinkan ketidakpastian.

Jadi, keuntungan dari deskripsi kami yang lebih ketat adalah untuk menjaga pemisahan tetap sederhana , untuk mendapatkan perbedaan yang lebih langsung terkait dengan penggunaan praktis umum. Ini berfungsi dengan baik, selama Anda tidak perlu atau ingin melonggarkan penggunaan Anda, seperti yang Anda lakukan, misalnya NuPRL.

Kadal diskrit
sumber
3
Pengecekan tipe tidak perlu decidable (meskipun tentu diinginkan). NuPRL, misalnya, memang mengharuskan pengguna untuk memberikan bukti bahwa suatu istilah mendiami suatu jenis.
Derek Elkins
3
3...
1
@DerekElkins Saya tidak akrab dengan NuPRL, tetapi misalnya asisten bukti Coq tentu saja melakukan pengecekan dengan sendirinya (yaitu, adalah istilah yang diberikan dari 'tipe teorema saya'). Bagaimana NuPRL memverifikasi bukti jika pengguna harus 'membuktikan' fakta bahwa istilah dari jenis tertentu? (dengan kata lain, ini terdengar seperti NuPRL tidak menggunakan korespondensi Curry-Howard, jadi apa fungsinya?)
Kadal diskrit
1
@ Discretelizard Saya tidak mengatakan NuPRL adalah khas. Ini jelas merupakan kasus yang biasa untuk pengecekan tipe dapat diperintah. Saya sangat merekomendasikan untuk mengenalnya hanya karena dibutuhkan jalur yang cukup berbeda. NuPRL adalah gaya Curry daripada kalkulus gaya Gereja yang membuatnya lebih dari sistem penyempurnaan tipe. Bagaimanapun, alih-alih hanya menulis istilah (atau taktik yang menghasilkan istilah), Anda pada dasarnya memiliki sistem bukti gaya LCF untuk mengetikkan derivasi itu sendiri. Dapat diperdebatkan, derivasi adalah yang penting, dan ini sedikit "kebetulan" yang bisa kita simpulkan dari istilah.
Derek Elkins
3
4

Saya percaya bahwa salah satu perbedaan paling konkret tentang set dan tipe adalah perbedaan dalam cara "hal-hal" dalam pikiran Anda dikodekan ke dalam bahasa formal.

Baik set dan tipe memungkinkan Anda untuk berbicara tentang hal-hal, dan koleksi hal-hal. Perbedaan utama adalah bahwa dengan set, Anda dapat mengajukan pertanyaan yang Anda inginkan tentang berbagai hal dan itu mungkin benar, mungkin tidak; sementara dengan tipe, Anda harus terlebih dahulu membuktikan bahwa pertanyaan itu masuk akal.

B={true,false}N={0,1,}true=1

Salah satu cara untuk menafsirkan ini adalah bahwa dengan set, semuanya dikodekan menjadi satu koleksi: koleksi semua set. dikodekan sebagai , dikodekan sebagai dan dan can dikodekan oleh dua set berbeda. Jadi sebenarnya masuk akal untuk menanyakan apakah , karena dapat dipahami dengan menanyakan apakah "pengodean yang dipilih untuk sama dengan pengkodean yang dipilih untuk ". Tetapi jawaban untuk pertanyaan ini bisa berubah jika kita memilih pengkodean lain: ini adalah tentang pengkodean dan bukan tentang hal-hal itu.0[0]={}n+1[n+1]={[n]}[n]truefalsetrue=1true1

Anda kemudian dapat memikirkan jenis sebagai menggambarkan pengodean dari hal-hal di dalamnya. Dengan tipe, untuk mengajukan pertanyaan apakah , pertama-tama Anda harus menunjukkan bahwa dan memiliki tipe yang sama, yaitu bahwa mereka dikodekan dengan cara yang sama, yang melarang pertanyaan seperti . Anda masih bisa ingin memiliki tipe besar di mana dan dapat dikodekan, dan kemudian diberi dua pengkodean dan , Anda bisa bertanya apakaha=babtrue=1SBNιB:BSιN:NSιB(true)=ιN(1) tetapi fakta bahwa pertanyaan ini tergantung pada pengkodean (dan pilihan pengkodean) sekarang eksplisit.

Perhatikan bahwa dalam kasus-kasus itu, apakah pertanyaan itu masuk akal sebenarnya mudah dilihat tetapi bisa lebih sulit seperti dalam, misalnya, .(ifvery_hard_questionthen1elsetrue)=1

Singkatnya, set memungkinkan Anda mengajukan pertanyaan apa pun yang Anda inginkan, tetapi tipe memaksa Anda untuk membuat penyandian secara eksplisit ketika jawabannya mungkin bergantung pada mereka.

xavierm02
sumber
Anda mungkin memikirkan satu jenis teori himpunan tertentu (sesuatu di sepanjang teori tunggal-diurutkan a la ZFC). Namun, ada jenis teori himpunan lain yang membutuhkan banyak pemeriksaan yang masuk akal. Dan cara teori himpunan digunakan dalam praktik jauh lebih dekat dengan teori himpunan lainnya. Apakah Anda pikir seorang siswa dapat bertanya "Apakah elemen ?" tanpa dimarahi? Perbedaan antara teori tipe dan teori himpunan tidak dalam formalisme, melainkan dalam maknanya. sin ( Rsin(2)
Andrej Bauer
@AndrejBauer Benar. Apakah Anda setuju bahwa jawaban ini memberikan perbedaan antara teori-teori tunggal-diurutkan (termasuk teori set paling, atau setidaknya yang paling umum), dan teori-teori multi-diurutkan (termasuk semua jenis teori (?))?
xavierm02
Bahkan dalam satu teori yang disortir Anda harus membedakan istilah dari rumus ...
Andrej Bauer
@AndrejBauer Saya tidak mengerti komentar kedua Anda.
xavierm02
Teori urutan pertama diurutkan memiliki dua kategori sintaksis: rumus dan istilah logis . Kita harus memastikan mereka tidak tercampur, atau Anda akhirnya bisa menulis " ". (xX.ϕ(x))N
Andrej Bauer