## lustrec / optim / oversampling / out / typed / g_step_assert.coq @ 6a93d814

History | View | Annotate | Download (1.64 KB)

1 | 6a93d814 | xthirioux | (* ---------------------------------------------------------- *) |
---|---|---|---|

2 | (* --- Assertion (file oversampling0_4.c, line 340) --- *) |
||

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 Axiomatic. |
||

19 | Require Import S_g_mem_pack. |
||

20 | Require Import Memory. |
||

21 | Require Import Compound. |
||

22 | Require Import Cint. |
||

23 | |||

24 | Goal |
||

25 | forall (t : array Z), |
||

26 | forall (t_1 : farray addr Z), |
||

27 | forall (t_2 : farray addr addr), |
||

28 | forall (a_1 a : addr), |
||

29 | forall (g_1 g : S_g_mem_pack), |
||

30 | let a_2 := t_2.[ (shiftfield_F_g_mem_ni_1 a_1) ] in |
||

31 | let a_3 := t_2.[ (shiftfield_F_g_mem_ni_0 a_1) ] in |
||

32 | let a_4 := t_2.[ (shiftfield_F_f_mem_ni_2 a_3) ] in |
||

33 | (P_g_pack0) -> |
||

34 | ((IsS_g_mem_pack g)) -> |
||

35 | ((IsS_g_mem_pack g_1)) -> |
||

36 | ((framed t_2)) -> |
||

37 | ((linked t)) -> |
||

38 | (a <> a_2) -> |
||

39 | ((valid_rw t a 1%Z)) -> |
||

40 | ((P_valid_g t t_2 a_1)) -> |
||

41 | ((((region ((base a))%Z)) <= 0)%Z) -> |
||

42 | ((((region ((base a_1))%Z)) <= 0)%Z) -> |
||

43 | ((separated a_1 3%Z a 1%Z)) -> |
||

44 | ((P_g_pack3 t_2 t_1 g_1 a_1)) -> |
||

45 | (a <> a_4) -> |
||

46 | (a_2 <> a_4) -> |
||

47 | ((separated a 1%Z a_3 2%Z)) -> |
||

48 | ((separated a_1 3%Z a_3 2%Z)) -> |
||

49 | ((separated a_1 3%Z a_2 1%Z)) -> |
||

50 | ((separated a_3 2%Z a_2 1%Z)) -> |
||

51 | ((is_uint32 |
||

52 | (t_1.[ (shiftfield_F__arrow_reg__first |
||

53 | ((shiftfield_F__arrow_mem__reg a_2))) ])%Z)) -> |
||

54 | ((separated a_1 3%Z a_4 1%Z)) -> |
||

55 | ((separated a_3 2%Z a_4 1%Z)) -> |
||

56 | (P_trans_gA). |