Il s'agit des contextes issus d'une expression de chemin.
Par exemple :
contexte construit :

contexte équivalent :
![]()
La figure suivante présente le principe général de l'aplatissement des contextes : si l'environnement est composé uniquement d'une référence évaluée rfl, alors on insère, au lieu de l'environnement, le contexte attaché à cette référence évaluée.
contexte construit :

contexte équivalent :
![]()
| (1) | env ::= ε | trm env |
| (2) | trm ::= def | ref | env |
| (3) | def ::= SINGLETON |
| (4) | ref ::= SINGLETON |
Cette syntaxe est très proche de la syntaxe évaluée précédente : on a simplement unifié ici la notion d'environnement et la notion de contexte, sachant que :
rfl ;Un environnement sera alors aussi bien un environnement évalué qu'une référence évaluée.
Note :
La notion d'aplatissement des contextes n'a pas de justification théorique profonde, mais elle ne modifie pas la sémantique du contexte construit. Il s'agit plutôt d'un procédé d'optimisation de l'espace mémoire utilisé et du temps d'accès aux définitions de texte. Elle permet néanmoins de bien faire ressortir l'aspect spécifique des expressions de chemin : en effet c'est justement dans un tel cas que le contexte pourra être en partie simplifié.