let rec term_type (s : t_subst) = function
| Atm n -> var_type n
| Var n ->
(match valeur n s with
| Var n -> var_type n
| t -> term_type s t)
| PInv Atm n ->
(match var_type n with
| 1 -> 2
| 2 -> 1
| _ -> 0)
| PInv Var n ->
(match term_type s (valeur n s) with
| 1 -> 2
| 2 -> 1
| _ -> 0)
| _ -> 0