proposition: Theorem cancelR j k t1 t2 (f1 : ast empc j t1) (f2 : ast j k t2) : def (untag (heap_of f1)) -> untag (heap_of f1) = untag (heap_of f2) -> eval k (cancel k t1 t2).
proof: Proof. case: f1 f2=>hp1 /= [<- _ I] [hp2 /= [<- S _]] D H. by apply: cancel_sound; rewrite -(interp_subctx I S). Qed.
imports: mathcomp(ssreflect ssrfun ssrbool ssrnat seq eqtype) LemmaOverloading(prelude prefix xfind heaps terms)