fact: Fixpoint pc (i:a_instr)(a:assert) {struct i} : assert := match i with prec a' i => a' | a_skip => a | a_assign x e => a_subst a x e | a_sequence i1 i2 => pc i1 (pc i2 a) | a_while b a' i => a' end.
imports: syntax little denot Bool List String ZArith