(* assignment of a value*)
Fixpoint value_assignment (qic:assignment_constructor) (v:value) {struct v}:=
match v with
| c_capply c lv => qic c (map (value_assignment qic) lv)
end.

(* Specifications: *)
(*Lemma 67 borne inf *)
Lemma value_size_le_QI qic cs:
additive qic cs -> constructor_non_zero cs ->
forall v:value, value_size v <= value_assignment qic v.
(*Lemma 67 borne sup *)
Lemma QI_le_value_size qic cs:
additive qic cs -> mcs_is_max_constructor_size cs ->
forall v:value,
value_assignment qic v <= mcs*(value_size v).