Cartesian calculus of substitutions

Substitution extension by a type

Given Ξ” βŠ’π›Ύ :Ξ“ and Ξ“ ⊒𝐴, we can define the extension 𝛾.𝐴 of 𝛾 by 𝐴 as

Ξ”.𝐴[𝛾]βŠ’π›Ύ.𝐴=(π›Ύβˆ˜π©).πͺ:Ξ“.𝐴.

with the derivation

Ξ”βŠ’π›Ύ:Ξ“Ξ”βŠ’π›Ύ:Ξ“Ξ“βŠ’π΄Ξ”βŠ’π΄[𝛾]Ξ”.𝐴[𝛾]βŠ’π©Ξ“,𝐴[𝛾]:ΔΔ.𝐴[𝛾]βŠ’π›Ύβˆ˜π©Ξ“,𝐴[𝛾]:Ξ“Ξ“βŠ’π΄Ξ”βŠ’π›Ύ:Ξ“Ξ“βŠ’π΄Ξ”βŠ’π΄[𝛾]Ξ”.𝐴[𝛾]⊒πͺΞ“,𝐴[𝛾]:𝐴[π›Ύβˆ˜π©](V)Ξ”.𝐴[𝛾]⊒(π›Ύβˆ˜π©Ξ“,𝐴[𝛾]).πͺΞ“,𝐴[𝛾]:Ξ“.𝐴(E)

Properties

The following are derivable:

ΞžβŠ’π›Ώ:Ξ”Ξ”βŠ’π›Ύ:Ξ“ΞžβŠ’π‘Ž:𝐴[π›Ύβˆ˜π›Ώ]ΞžβŠ’π›Ύ.π΄βˆ˜π›Ώ.π‘Ž=(π›Ύβˆ˜π›Ώ).π‘Ž:Ξ“.𝐴(β‡’)
^P1

2.

ΞžβŠ’π›Ώ:Ξ”Ξ”βŠ’π›Ύ:Ξ“Ξ“βŠ’π΄Ξž.𝐴[π›Ύβˆ˜π›Ώ]βŠ’π›Ύ.π΄βˆ˜π›Ώ.𝐴[𝛾]=(π›Ύβˆ˜π›Ώ).𝐴:Ξ“.𝐴(β‡’)
^P2

3.

Ξ“βŠ’π΄Ξ“.𝐴⊒𝐒𝐝.𝐴=𝐒𝐝:Ξ“.𝐴(β‡’)
^P3


tidy | en | SemBr