Module hardware_alignof_facts: HARDWARE_ALIGNOF_FACTS.
End hardware_alignof_facts.
Export hardware_alignof_facts.
Hint Resolve alignof_two_p: align.
Hint Resolve align_chunk_two_p: align.
Hint Extern 10 (exists n: nat, hardware_alignof _ _ = two_power_nat n) => (eapply hardware_alignof_two_p; eassumption): align.
Hint Extern 10 (exists n: nat, hardware_alignof_composite _ _ = two_power_nat n) => (eapply hardware_alignof_composite_two_p; eassumption): align.

Lemma align_compatible_rec_hardware_1: forall cenv ha_env t z,
composite_env_consistent cenv ->
composite_env_complete_legal_cosu_type cenv ->
hardware_alignof_env_consistent cenv ha_env ->
hardware_alignof_env_complete cenv ha_env ->
complete_legal_cosu_type cenv t = true ->
hardware_alignof ha_env t = 1 ->
align_compatible_rec cenv t z.