End Ordering.

Lemma same_rank_same_prod vv ff cc lt ls rk rk':
(forall t s, In t lt -> In s ls ->
(forall f, In f (functions_of_term t) -> rk f = rk' f) ->
(forall f, In f (functions_of_term s) -> rk f = rk' f) ->
PPO rk t s -> PPO rk' t s) ->
(forall f, In f (flat_map (@functions_of_term vv ff cc) lt) -> rk f = rk' f) ->
(forall f, In f (flat_map (@functions_of_term _ _ _) ls) -> rk f = rk' f) ->
product (PPO rk) lt ls -> product (PPO rk') lt ls.