Cartesian calculus of substitutions
Substitution extension by a type
Given
with the derivation
Properties
The following are derivable:
^P1
2.
^P2
3.
^P3
Proof of 1β3
For ^P1, expanding definitions and using ^P2 gives
πΎ . π΄ β πΏ . π = ( πΎ β π© ) . πͺ β πΏ . π = ( πΎ β π© β πΏ . π ) . πͺ [ πΏ . π ] = ( πΎ β πΏ ) . π completing the proof of ^P1.
Applying this result to ^P2 gives
πΎ . π΄ β πΏ . π΄ [ πΎ ] = πΎ . π΄ β ( πΏ β π© ) . πͺ = ( πΎ β πΏ β π© ) . πͺ = ( πΎ β πΏ ) . π΄ proving ^P2.
For ^P3 we have
by ^eta. π’ π . π΄ = ( π’ π β π© ) . πͺ = π© . πͺ = ( π© β π’ π ) . πͺ [ π’ π ] = π’ π