End HARDWARE_ALIGNOF_FACTS.
Module hardware_alignof_facts: HARDWARE_ALIGNOF_FACTS.

Lemma aux2: forall (cenv: composite_env),
type_func.Env
(fun t : type =>
match access_mode t with
| By_value ch => align_chunk ch
| By_reference => 1
| By_copy => 1
| By_nothing => 1
end) (fun (ha : Z) (_ : type) (_: Z) (_ : attr) => ha)
(fun (ha : Z) (_ : ident) (_ : attr) => ha)
(fun (ha : Z) (_ : ident) (_ : attr) => ha)
(fun _ : struct_or_union =>
fix fm (l : list (ident * type * Z)) : Z :=
match l with
| nil => 1
| (_, _, ha) :: l' => Z.max ha (fm l')
end) (composite_reorder.rebuild_composite_elements cenv) =
hardware_alignof_env cenv.