Introduction of heterogenous Identity

- IdP primitive
- dependent mapOnPath (mapOnPathD primitive)
- 2 arguments dependent version of mapOnPath (mapOnPathS)
wip on commutation between Id and Sigma
Added definitional surjective pairing
heterogeneous example
little change
updated examples
minor change
updated examples
updated examples
added the circle
updated examples
updated examples
fixed the circle and added an example
some more examples and the order of branches should not matter
Renamed MTT into TypeChecker
Merge remote-tracking branch 'origin/conv' into conv
rename MTT into TypeChecker