Notation "'dC[ x ]" := (dconst _ x).

Lemma const_dual n (x: vect n) : 'C['@x] = 'dC[x].
Fixpoint meet (n : nat) : vect n -> vect n -> vect n :=
match n return (vect n -> vect n -> vect n) with
| 0%nat => fun a b => (a * b)%f
| S n1 =>
fun v1 v2 =>
let (x1, y1) := v1 in
let (x2, y2) := v2 in (meet n1 x1 x2,
meet n1 x1 y2 +
meet n1 y1 (x2 ^d_'f))
end.