私は定義を持っていますmy_def1
:
Require Import compcert.common.Memory.
Require Import compcert.common.Values.
Require Import compcert.lib.Integers.
Definition my_def1 (vl: list memval) : val :=
match proj_bytes vl with
| Some bl => Vint(Int.sign_ext 16 (Int.repr (decode_int bl)))
| None => Vundef
end.
以下のような別の定義を書き、常に を返す公理を追加my_def2
したいと思います。my_def1
proj_bytes vl
Some bl
Definition my_def2 (vl: list memval) : val :=
Vint(Int.sign_ext 16 (Int.repr (decode_int ((*?*)) )))
end.
私の質問は、関連する情報をどのように完成させmy_def2
て書くことができますか?axiom
proj_bytes vl
list memval
または、タイプから list byte
[ decode_int
accepts list byte
]にキャストするにはどうすればよいですか?
の定義は次のmemval
とおりです。
Inductive memval : Type :=
Undef : memval
| Byte : byte -> memval
| Fragment : val -> quantity -> nat -> memval