1
|
(* ---------------------------------------------------------- *)
|
2
|
(* --- Assertion (file oversampling0_4.c, line 348) --- *)
|
3
|
(* ---------------------------------------------------------- *)
|
4
|
Require Import ZArith.
|
5
|
Require Import Reals.
|
6
|
Require Import BuiltIn.
|
7
|
Require Import bool.Bool.
|
8
|
Require Import int.Int.
|
9
|
Require Import int.Abs.
|
10
|
Require Import int.ComputerDivision.
|
11
|
Require Import real.Real.
|
12
|
Require Import real.RealInfix.
|
13
|
Require Import real.FromInt.
|
14
|
Require Import map.Map.
|
15
|
Require Import Qedlib.
|
16
|
Require Import Qed.
|
17
|
|
18
|
Require Import S_g_mem_pack.
|
19
|
Require Import Memory.
|
20
|
Require Import Compound.
|
21
|
Require Import Axiomatic.
|
22
|
Require Import Cint.
|
23
|
Require Import Globals.
|
24
|
|
25
|
Goal
|
26
|
let a := (shift_sint32 ((global (L_last_y_459)%Z)) 0%Z) in
|
27
|
forall (t : array Z),
|
28
|
forall (t_5 t_4 t_3 t_2 t_1 : farray addr Z),
|
29
|
forall (t_6 : farray addr addr),
|
30
|
forall (a_2 a_1 : addr),
|
31
|
forall (g_1 g : S_g_mem_pack),
|
32
|
let a_3 := t_6.[ (shiftfield_F_g_mem_ni_1 a_2) ] in
|
33
|
let a_4 := t_6.[ (shiftfield_F_g_mem_ni_0 a_2) ] in
|
34
|
let a_5 := t_6.[ (shiftfield_F_f_mem_ni_2 a_4) ] in
|
35
|
let a_6 := (shiftfield_F__arrow_reg__first
|
36
|
((shiftfield_F__arrow_mem__reg a_3))) in
|
37
|
let x := (t_5.[ a_6 ])%Z in
|
38
|
((IsS_g_mem_pack g)) ->
|
39
|
((IsS_g_mem_pack g_1)) ->
|
40
|
((framed t_6)) ->
|
41
|
((linked t)) ->
|
42
|
(a_1 <> a_3) ->
|
43
|
((valid_rw t a_1 1%Z)) ->
|
44
|
((P_valid_g t t_6 a_2)) ->
|
45
|
((((region ((base a_1))%Z)) <= 0)%Z) ->
|
46
|
((((region ((base a_2))%Z)) <= 0)%Z) ->
|
47
|
((separated a_2 3%Z a_1 1%Z)) ->
|
48
|
((P_g_pack1 t_6 t_4 g a_2)) ->
|
49
|
((P_g_pack3 t_6 t_5 g_1 a_2)) ->
|
50
|
(a_1 <> a_5) ->
|
51
|
(a_3 <> a_5) ->
|
52
|
((separated a_1 1%Z a_4 2%Z)) ->
|
53
|
((separated a_2 3%Z a_4 2%Z)) ->
|
54
|
((separated a_2 3%Z a_3 1%Z)) ->
|
55
|
((separated a_4 2%Z a_3 1%Z)) ->
|
56
|
((is_uint32 x)) ->
|
57
|
((separated a_2 3%Z a_5 1%Z)) ->
|
58
|
((separated a_4 2%Z a_5 1%Z)) ->
|
59
|
(itep ((0 = x)%Z) (t_1 = t_5) (t_1 = (t_5.[ a_6 <- (0)%Z ]))) ->
|
60
|
(itep ((0 = x)%Z)
|
61
|
((t_1 = t_2) /\
|
62
|
(t_4 =
|
63
|
(t_2.[ a <- (t_2.[ (shiftfield_F_g_reg___g_2
|
64
|
((shiftfield_F_g_mem__reg a_2))) ])%Z ])))
|
65
|
((t_1 = t_3) /\ (t_4 = (t_3.[ a <- (0)%Z ])))) ->
|
66
|
(forall (g_2 : S_g_mem_pack), ((IsS_g_mem_pack g_2)) ->
|
67
|
(forall (g_3 : S_g_mem_pack), (P_g_pack0) -> ((IsS_g_mem_pack g_3)) ->
|
68
|
((P_g_pack3 t_6 t_5 g_2 a_2)) -> (P_trans_gA))) ->
|
69
|
(forall (g_2 : S_g_mem_pack), ((IsS_g_mem_pack g_2)) ->
|
70
|
(forall (g_3 : S_g_mem_pack), ((IsS_g_mem_pack g_3)) ->
|
71
|
((P_g_pack1 t_6 t_1 g_3 a_2)) -> ((P_g_pack3 t_6 t_5 g_2 a_2)) ->
|
72
|
((P_trans_gB g_2 g_3 x)))) ->
|
73
|
((P_trans_gC g_1 g (t_4.[ a ])%Z)).
|
74
|
|