De Bruijn indeksi - De Bruijn index

İçinde matematiksel mantık, de Bruijn indeksi tarafından icat edilen bir araçtır. Flemenkçe matematikçi Nicolaas Govert de Bruijn şartlarını temsil ettiği için lambda hesabı bağlı değişkenleri adlandırmadan.[1] Bu endeksler kullanılarak yazılan terimler, aşağıdakilere göre değişmez α-dönüşümü yani kontrol edin α eşdeğeri sözdizimsel eşitlik için olanla aynıdır. Her bir de Bruijn indeksi bir doğal sayı bir oluşumunu temsil eden değişken λ teriminde ve sayısını ifade eder bağlayıcılar içeride dürbün bu oluşum ve karşılık gelen bağlayıcı arasında. Aşağıda bazı örnekler verilmiştir:

  • Λ terimix. λy. xbazen denir K birleştirici, De Bruijn indeksleri ile λ λ 2 olarak yazılır. Olay için bağlayıcı x kapsamdaki ikinci λ'dır.
  • Λ terimix. λy. λz. x z (y z) ( S birleştirici ), de Bruijn indeksleri ile λ λ λ 3 1 (2 1) 'dir.
  • Λ terimiz. (λy. yx. x)) (λx. z x) λ (λ 1 (λ 1)) (λ 2 1). Bağlayıcıların renkli olduğu ve referansların oklarla gösterildiği aşağıdaki resme bakın.

Örneğin resimli tasviri

De Bruijn endeksleri yaygın olarak yüksek mertebeden muhakeme sistemleri gibi otomatik teorem kanıtlayıcılar ve mantık programlama sistemleri.[2]

Resmi tanımlama

Resmen, λ-terimler (M, N, ...) De Bruijn endeksleri kullanılarak yazılan dizinler aşağıdaki sözdizimine sahiptir (parantezlere serbestçe izin verilir):

M, N, ... ::= n | M N | λ M

nerede ndoğal sayılar 0'dan büyük - değişkenlerdir. Bir değişken n dır-dir ciltli en azından kapsamı içindeyse n bağlayıcılar (λ); aksi halde öyle Bedava. Bir değişken için bağlanma sitesi n ... ninci bağlayıcı içinde dürbün , en içteki bağlayıcıdan başlayarak.

Λ terimlerinde en ilkel işlem ikamedir: bir terimdeki serbest değişkenleri başka terimlerle değiştirmek. İçinde β-azaltmaM) N, örneğin, şunları yapmalıyız:

  1. değişkenlerin örneklerini bulun n1, n2, ..., nk içinde M λ cinsinden λ ile bağlı olanlar M,
  2. serbest değişkenleri azaltmak M dış λ-bağlayıcının çıkarılmasıyla eşleşecek ve
  3. yerine koymak n1, n2, ..., nk ile N, uygun şekilde artan serbest değişkenler N her seferinde, karşılık gelen değişkenin ne zaman oluştuğu λ-bağlayıcıların sayısıyla eşleşmek için N birinin yerine geçer nben.

Göstermek için uygulamayı düşünün

(λ λ 4 2 (λ 1 3)) (λ 5 1)

normal gösterimde yazılan aşağıdaki terime karşılık gelebilir

x. λy. z xsen. sen x)) (λx. w x).

1. adımdan sonra, ikame edilecek değişkenlerin yerine kutularla değiştirildiği λ 4 □ (λ 1 □) terimini elde ederiz. Adım 2, serbest değişkenleri azaltır ve λ 3 □ (λ 1 □) verir. Son olarak, 3. adımda, kutuları λ 5 1 şeklinde bir argüman ile değiştiriyoruz; ilk kutu bir bağlayıcı altındadır, bu yüzden onu λ 6 1 ile değiştiririz (bu, λ 5 1, serbest değişkenler 1 artmıştır); ikincisi iki bağlayıcı altında, bu yüzden onu λ 7 1 ile değiştiriyoruz. Nihai sonuç λ 3 (λ 6 1) (λ 1 (λ 7 1)).

Resmi olarak, bir ikame, serbest değişkenler için yazılmış terim değiştirmelerinin sınırsız bir listesidir. M1.M2..., nerede Mben yerine beninci serbest değişken. 3. adımda artan işlem bazen denir vardiya ve yazılı ↑k nerede k değişkenleri artıracak miktarı gösteren doğal bir sayıdır; örneğin, ↑0 bir terimi değiştirmeden bırakarak kimlik ikamesidir.

Bir ikame uygulaması s bir terime M yazılmış M[s]. İki ikamenin bileşimi s1 ve s2 yazılmış s1 s2 ve tarafından tanımlanan

M [s1 s2] = (M [s1]) [s2].

Başvuru kuralları aşağıdaki gibidir:

Yukarıda β-indirgeme için özetlenen adımlar, bu nedenle daha kısaca şu şekilde ifade edilir:

M) Nβ M [N.1.2.3...].

De Bruijn endekslerine alternatifler

Değişkenlerin etiket veya dizge olarak ele alındığı λ terimlerinin standart "adlandırılmış" gösterimini kullanırken, terimler üzerinde herhangi bir işlemi tanımlarken α-dönüşümünü açıkça ele almalısınız. Standart Değişken Sözleşme[3] nın-nin Barendregt aşağıdakilerden emin olmak için gerektiği şekilde α-dönüşümünün uygulandığı böyle bir yaklaşımdır:

  1. bağlı değişkenler, serbest değişkenlerden farklıdır ve
  2. tüm bağlayıcılar, kapsamda olmayan değişkenleri bağlar.

Uygulamada bu, külfetli, verimsiz ve genellikle hataya açık bir durumdur. Bu nedenle, bu tür terimlerin farklı temsillerinin araştırılmasına yol açmıştır. Öte yandan, λ terimlerinin adlandırılmış temsili daha yaygındır ve diğerleri tarafından daha çabuk anlaşılabilir çünkü değişkenlere açıklayıcı adlar verilebilir. Böylece, bir sistem dahili olarak De Bruijn indekslerini kullansa bile, isimlerle bir kullanıcı arayüzü sunacaktır.

De Bruijn endeksleri, α-dönüşümü sorununu ortadan kaldıran λ terimlerinin tek temsili değildir. Adlandırılmış temsiller arasında, nominal teknikler Pitts ve Gabbay, bir λ-teriminin temsilinin tüm terimlerin eşdeğerlik sınıfı olarak ele alındığı bir yaklaşımdır yeniden yazılabilir değişken permütasyonlar kullanarak buna.[4] Bu yaklaşım, Nominal Veri Türü Paketi tarafından alınmıştır. Isabelle / HOL.[5]

Diğer bir yaygın alternatif, üst düzey temsiller λ-bağlayıcının gerçek bir işlev olarak görüldüğü yer. Bu tür temsillerde, α-eşdeğeri, ikame vb. Hususlar, aynı işlemlerle bir meta mantık.

Bir tümdengelim sisteminin meta-teorik özellikleri hakkında akıl yürütürken kanıt asistanı Bazen kişinin kendini birinci dereceden temsillerle sınırlandırması ve varsayımları adlandırma veya yeniden adlandırma yeteneğine sahip olması arzu edilir. yerel olarak isimsiz yaklaşım Değişkenlerin karma bir temsilini kullanır - bağlı değişkenler için De Bruijn indeksleri ve serbest değişkenler için isimler - uygun olduğunda De Bruijn indeksli terimlerin α-kanonik formundan faydalanabilir.[6][7]

Ayrıca bakınız

Referanslar

  1. ^ de Bruijn, Nicolaas Govert (1972). "İsimsiz Kuklalarla Lambda Hesap Gösterimi: Church-Rosser Teoremine Uygulanan Otomatik Formül Manipülasyonu İçin Bir Araç" (PDF). Indagationes Mathematicae. 34: 381–392. ISSN  0019-3577.
  2. ^ Gabbay, Murdoch J .; Pitts, Andy M. (1999). "Bağlayıcıları İçeren Soyut Sözdizimine Yeni Bir Yaklaşım". 14. Yıllık Bilgisayar Bilimlerinde Mantık üzerine IEEE Sempozyumu. s. 214–224. doi:10.1109 / LICS.1999.782617.
  3. ^ Barendregt, Henk P. (1984). Lambda Hesabı: Sözdizimi ve Anlambilim. Kuzey Hollanda. ISBN  978-0-444-87508-2.
  4. ^ Pitts, Andy M. (2003). "Nominal Logic: A First Order Theory of Names and Binding". Bilgi ve Hesaplama. 186 (2): 165–193. doi:10.1016 / S0890-5401 (03) 00138-X. ISSN  0890-5401.
  5. ^ "Nominal Isabelle web sitesi". Alındı 2007-03-28.
  6. ^ McBride, McKinna. Ben Sayı Değilim; Ben Özgür Bir Değişkenim (PDF).
  7. ^ Aydemir, Chargueraud, Pierce, Pollack, Weirich. Mühendislik Biçimsel Metateori.CS1 bakım: birden çok isim: yazarlar listesi (bağlantı)