Definition instr_approx_rel (n:nat) (i1 i2:instruction) : Prop :=
fmap_instr (K.approx n) i1 = fmap_instr (K.approx n) i2.

(* Specifications: *)
Lemma intro_instr_approx_rel : forall m n i,
m >= n ->
instr_approx_rel n i (fmap_instr (K.approx m) i).
Lemma collapse_instr_approx : forall n m i,
fmap_instr (K.approx n) (fmap_instr (K.approx m) i) =
fmap_instr (K.approx (min n m)) i.
Lemma collapse_instr_approx_same : forall n  i,
fmap_instr (K.approx n) (fmap_instr (K.approx n) i) =
fmap_instr (K.approx n) i.
Lemma intro_instr_approx_rel : forall m n i,
m >= n ->
instr_approx_rel n i (fmap_instr (K.approx m) i).
Lemma collapse_instr_approx : forall n m i,
fmap_instr (K.approx n) (fmap_instr (K.approx m) i) =
fmap_instr (K.approx (min n m)) i.
Lemma collapse_instr_approx_same : forall n  i,
fmap_instr (K.approx n) (fmap_instr (K.approx n) i) =
fmap_instr (K.approx n) i.