fact: Definition Is_from_sem : extcall_sem := fun _ args m1 trc ret m2 => m1 = m2 /\ trc = nil /\ match args with | (Vptr b1 o1) :: (Vptr b2 o2) :: (Vptr b3 o3) :: nil => exists n : Z, 0 < n /\ Ptrofs.unsigned o1 + n < Ptrofs.modulus /\ b1 = b2 /\ Ptrofs.unsigned o1 + n = Ptrofs.unsigned o2 /\ valid_block m1 b1 o1 n /\ common.Memory.Mem.valid_pointer m1 b3 (Ptrofs.unsigned o3) = true /\ ((b1 = b3 /\ Ptrofs.unsigned o1 <= Ptrofs.unsigned o3 < Ptrofs.unsigned o2 /\ ret = Vone) \/ ((b1 <> b3 \/ (b1 = b3 /\ (Ptrofs.unsigned o3 < Ptrofs.unsigned o1 \/ Ptrofs.unsigned o3 >= Ptrofs.unsigned o2))) /\ ret = Vzero)) | _ => False end.
imports: compcert.common.Events compcert.common.Memory compcert.common.Values compcert.common.AST compcert.lib.Integers Coq.ZArith.BinInt Coq.Lists.List Coq.micromega.Lia