Theory DiskPaxos_Invariant
theory DiskPaxos_Invariant imports DiskPaxos_Inv6 begin
subsection ‹The Complete Invariant›
definition HInv :: "state ⇒ bool"
where
"HInv s = (HInv1 s
∧ HInv2 s
∧ HInv3 s
∧ HInv4 s
∧ HInv5 s
∧ HInv6 s)"
theorem I1:
"HInit s ⟹ HInv s"
using HInit_HInv1 HInit_HInv2 HInit_HInv3
HInit_HInv4 HInit_HInv5 HInit_HInv6
by(auto simp add: HInv_def)
theorem I2:
assumes inv: "HInv s"
and nxt: "HNext s s'"
shows "HInv s'"
using inv I2a[OF nxt] I2b[OF nxt] I2c[OF nxt]
I2d[OF nxt] I2e[OF nxt] I2f[OF nxt]
by(simp add: HInv_def)
end