let norm_Uplet_light purifie (s : t_subst) (l : term list) : term list * t_subst =
let rec norm_Ul = function
| t::fin ->
( let (ll,s2) = norm_Ul fin in
match purifie s2 t with
| (Var n as tt, ss) ->
( match valeur n ss with
| Atm(0)
| Xor(_) -> (tt::ll, ss)
| tt -> (tt::ll, ss) )
| (Atm(0) as tt, ss)
| (Xor(_) as tt, ss) ->
let (nv, ns) = add_newvalue ss tt
in (nv::ll, ns)
| (tt, s3) ->
(tt::ll, s3) )
| [] -> ([], s)
in
norm_Ul l