fact: Definition inst_cases (i:inst) : inst_cases_type i := match i as x return inst_cases_type x with | Assign v e => is_assign (Assign v e) v e (refl_equal (Assign v e)) | Scolon i1 i2 => is_seq (Scolon i1 i2) i1 i2 (refl_equal (Scolon i1 i2)) | WhileDo b i => is_while (WhileDo b i) b i (refl_equal (WhileDo b i)) | Skip => is_Skip Skip (refl_equal Skip) end.
imports: ZArith Zwf Inverse_Image Wellfounded Extraction