fact: Definition summatrix_spec : ident * funspec := DECLARE _summatrix WITH a: val, sh : share, contents_mat : list (list Z) PRE [tptr (tarray tuint 2), tint ] PROP (readable_share sh; Zlength contents_mat = 2; Forall (fun list => Zlength list = 2) contents_mat; Forall (fun list => Forall (fun x => 0 <= x <= Int.max_unsigned) list) contents_mat) PARAMS (a; Vint (Int.repr 2)) GLOBALS () SEP (matrix_rep sh 2 contents_mat a) POST [ tuint ] PROP () LOCAL(temp ret_temp (Vint (Int.repr (sum_mat contents_mat)))) SEP (matrix_rep sh 2 contents_mat a).
imports: VST.floyd.proofauto CertiGraph.summatrix.summatrix VST.msl.iter_sepcon