โดยทั่วไปคุณใช้เลขฐานสองในการพิสูจน์ความเท่าเทียมกันของโปรแกรม มันผิดปกติที่จะทำสิ่งนี้กับโมเดลที่ไม่น่าสนใจเนื่องจากมันจะพูดถึงครั้งละหนึ่งโปรแกรมเท่านั้น
โดยปกติแล้วคุณใช้โมเดล unary ถ้าสิ่งที่คุณสนใจคือคุณสมบัติของ unary ตัวอย่างเช่นดูฉบับร่างล่าสุดของเรา, Superficially Substructural Typesซึ่งเราพิสูจน์ผลลัพธ์ความสมบูรณ์ของเสียงโดยใช้แบบจำลองแบบเอกนารี เนื่องจากความสมบูรณ์ของการพูดคุยเกี่ยวกับพฤติกรรมของหนึ่งโปรแกรม (ถ้า มันจะเบี่ยงเบนหรือลดลงเป็นค่า ) โมเดล unary ก็เพียงพอแล้ว หากเราต้องการพิสูจน์ว่าโปรแกรมเทียบเท่านอกจากนี้เราจะต้องมีรูปแบบไบนารีv : Ae : Av : A
แก้ไข: ฉันเพิ่งรู้ว่าถ้าคุณดูกระดาษของเรามันก็ดูเหมือนว่าแบบจำลองความสัมพันธ์เชิงตรรกะ / ความสามารถในการรับรู้แบบธรรมดา ฉันควรจะพูดเพิ่มอีกนิดเกี่ยวกับสิ่งที่ทำให้ (และรุ่นอื่น ๆ ) เป็นพารามิเตอร์ โดยพื้นฐานแล้วตัวแบบนั้นเป็นพารามิเตอร์เมื่อคุณสามารถพิสูจน์ตัวตนส่วนขยายของตัวตนได้นั่นคือสำหรับนิพจน์ประเภทใด ๆ หากตัวแปรประเภทอิสระทั้งหมดถูกผูกไว้กับความสัมพันธ์ของตัวตนแล้วนิพจน์ประเภทนั้นคือความสัมพันธ์ตัวตน เราไม่ได้พิสูจน์อย่างชัดเจนว่าเป็นบทแทรก (ฉันไม่รู้ว่าทำไม แต่คุณไม่จำเป็นต้องทำแบบจำลองการดำเนินงาน) แต่คุณสมบัตินี้จำเป็นสำหรับความสมบูรณ์ของภาษาของเรา
คำจำกัดความของ "ความสัมพันธ์" และ "ความสัมพันธ์แบบตัวตน" ในพารามิเตอร์จริง ๆ แล้วเป็นเพียงเล็กน้อยสำหรับการคว้าและเสรีภาพนี้เป็นสิ่งจำเป็นจริง ๆ ถ้าคุณต้องการที่จะสนับสนุนประเภทแฟนซีเช่นชนิดที่สูงขึ้นหรือประเภทที่พึ่งพาหรือต้องการทำงานกับโครงสร้างความหมาย บัญชีที่สามารถเข้าถึงได้มากที่สุดของฉันรู้ว่านี้อยู่ในบ๊อบ Atkey ร่างกระดาษสัมพันธ์ Parametricity สำหรับชนิดที่สูงขึ้น
หากคุณมีความอยากอาหารที่ดีสำหรับหมวดหมู่ทฤษฎีนี้เป็นสูตรแรกในทางนามธรรมโดย Rosolini ในกระดาษของเขาสะท้อนกราฟและ Parametric Polymorphism มันได้ถูกพัฒนาขึ้นโดย Dunphy และเรดดี้ในกระดาษของพวกเขาขีด จำกัด Parametricและยังตาม Birkedal, Møgelbergและปีเตอร์เสนในโดเมนทฤษฎีสินค้าทุกรุ่นของ Parametric Polymorphism