Definition KSap i j a b (g : KleeneStore i j (a -> b)) (k : KleeneStore i j a) :
KleeneStore i j b :=
kleeneStore (fun v => append_view (P := fun _ => b) (fun v1 v2 => (peek (k:=g) v1) (peek (k:=k) v2)) v)
(Vector.append (pos g) (pos k)).

Lemma composition_KS i j a b c x y (z : KleeneStore i j a) :
KSap (KSap (KSap (KSpure i j (fun (f : b -> c) (g : a -> b) (x : a) => f (g x))) x) y) z =
KSap x (KSap y z).