Normalerweise verwenden Sie die binäre Parametrizität, um Programmäquivalenzen zu beweisen. Es ist unnatürlich, dies mit einem unären Modell zu tun, da es sich jeweils nur um ein Programm handelt.
Normalerweise verwenden Sie ein unäres Modell, wenn Sie nur an einer unären Eigenschaft interessiert sind. Sehen Sie sich zum Beispiel unseren jüngsten Entwurf an, Oberflächliche Unterstrukturtypen , in dem wir ein Ergebnis der Typzuverlässigkeit unter Verwendung eines unären Modells nachweisen. Da es sich bei Soundness um das Verhalten eines Programms handelt (wenn dann weicht es entweder ab oder reduziert sich auf einen Wert v : A ), ist ein unäres Modell ausreichend. Wenn wir zusätzlich Programmäquivalenzen nachweisen wollten, bräuchten wir ein binäres Modell.e : Av : A
EDIT: Mir ist gerade aufgefallen, dass unser Artikel wie ein einfaches altes Modell für logische Beziehungen / Realisierbarkeit aussieht. Ich sollte ein bisschen mehr darüber sagen, was es (und andere Modelle) parametrisch macht. Grundsätzlich ist ein Modell parametrisch, wenn Sie das Identitätserweiterungs-Lemma dafür nachweisen können: Wenn für einen beliebigen Typausdruck alle freien Typvariablen an Identitätsbeziehungen gebunden sind, ist der Typausdruck die Identitätsbeziehung. Wir beweisen es nicht explizit als Lemma (ich weiß nicht warum, aber Sie müssen es selten tun, wenn Sie Betriebsmodelle ausführen), aber diese Eigenschaft ist für die Solidität unserer Sprache von wesentlicher Bedeutung.
Die Definition von "Relation" und "Identitätsrelation" in Bezug auf die Parametrizität ist tatsächlich ein wenig zu gewinnen, und diese Freiheit ist tatsächlich wesentlich, wenn Sie ausgefallene Typen wie höhere oder abhängige Typen unterstützen oder mit schickeren semantischen Strukturen arbeiten möchten. Der am leichtesten zugängliche Bericht darüber, den ich kenne, ist in Bob Atkeys Entwurf für Relational Parametricity for Higher Kinds .
Wenn Sie einen guten Appetit auf Kategorietheorie haben, wurde dies zuerst von Rosolini in seinem Aufsatz Reflexive Graphen und Parametrischer Polymorphismus abstrakt formuliert . Es wurde seitdem von Dunphy und Reddy in ihrer Arbeit Parametric Limits sowie von Birkedal, Møgelberg und Petersen in domänentheoretischen Modellen des parametrischen Polymorphismus weiterentwickelt .