(** * Combining the previous results with transitivity of [ |= ] *)

(* Specifications: *)
Theorem soundness: forall pre p post, pre |= (synt_wp p post) -> pre |= p {=post=}.
Theorem completeness: forall pre p post, pre |= p {=post=} -> pre |= (synt_wp p post).
End PartialHoareLogic.
Theorem soundness: forall pre p post, pre |= (synt_wp p post) -> pre |= p [=post=].
Theorem completeness: forall pre p post, pre |= p [=post=] -> pre |= (synt_wp p post).
End TotalHoareLogic.