1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
(**************************************************************************)
(* *)
(* This file is part of Frama-C. *)
(* *)
(* Copyright (C) 2007-2010 *)
(* CEA (Commissariat l'nergie atomique et aux nergies *)
(* alternatives) *)
(* INRIA (Institut National de Recherche en Informatique et en *)
(* Automatique) *)
(* *)
(* you can redistribute it and/or modify it under the terms of the GNU *)
(* Lesser General Public License as published by the Free Software *)
(* Foundation, version 2.1. *)
(* *)
(* It is distributed in the hope that it will be useful, *)
(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)
(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)
(* GNU Lesser General Public License for more details. *)
(* *)
(* See the GNU Lesser General Public License version v2.1 *)
(* for more details (enclosed in the file licenses/LGPLv2.1). *)
(* *)
(**************************************************************************)
type X
type S
logic S_a: -> int field
goal acc_upd_field_int : forall s : S.
acc_field (upd_field (s, S_a, 2), S_a) + 1 = 3
logic S_b: -> int field
axiom ax_field_S_a_b: neq_field(S_a, S_b)
goal acc_upd_field_int_ned : forall s : S.
acc_field (upd_field (s, S_b, 2), S_a) = acc_field (s, S_a)
type S2
logic S_s: -> S2 field
axiom ax_field_S_a_s: neq_field(S_a, S_s)
goal acc_upd_field_neq_sym : forall s : S.
acc_field (upd_field (s, S_a, 2), S_s) = acc_field (s, S_s)
goal acc_upd_index : forall t : X farray. forall x : X.
access (update (t, 1, x), 2) = access (t, 2)
(* TODO : add some more tests... *)
|