@@ -2675,7 +2675,7 @@ next
2675
2675
case True
2676
2676
2677
2677
hence nd' : "nd' = nd \<lparr> firstUncommittedSlot := i
2678
- , publishPermitted := False
2678
+ , publishPermitted := True
2679
2679
, publishVotes := {}
2680
2680
, currentVotingNodes := conf
2681
2681
, currentClusterState := cs
@@ -2709,7 +2709,7 @@ next
2709
2709
2710
2710
have updated_properties :
2711
2711
"\<And>n. firstUncommittedSlot (nodeState' n) = (if n = n\<^sub>0 then i else firstUncommittedSlot (nodeState n)) "
2712
- "\<And>n. publishPermitted (nodeState' n) = (publishPermitted (nodeState n) \<and > n \<noteq> n\<^sub>0)"
2712
+ "\<And>n. publishPermitted (nodeState' n) = (publishPermitted (nodeState n) \<or > n = n\<^sub>0)"
2713
2713
"\<And>n. publishVotes (nodeState' n) = (if n = n\<^sub>0 then {} else publishVotes (nodeState n))"
2714
2714
"\<And>n. currentVotingNodes (nodeState' n) = (if n = n\<^sub>0 then conf else currentVotingNodes (nodeState n))"
2715
2715
"\<And>n. joinVotes (nodeState' n) = (if n = n\<^sub>0 then {} else joinVotes (nodeState n))"
@@ -2776,7 +2776,8 @@ next
2776
2776
using True firstUncommittedSlot_PublishRequest nd_def by blast
2777
2777
2778
2778
from PublishRequest_publishPermitted_currentTerm show "\<And>t x. n \<midarrow>\<langle> PublishRequest (firstUncommittedSlot (nodeState' n)) t x \<rangle>\<leadsto> \<Longrightarrow> publishPermitted (nodeState' n) \<Longrightarrow> t < currentTerm (nodeState n)"
2779
- unfolding updated_properties apply ( cases "n = n\<^sub>0" , auto ) done
2779
+ unfolding updated_properties apply ( cases "n = n\<^sub>0" , auto )
2780
+ using True firstUncommittedSlot_PublishRequest nd_def by blast
2780
2781
2781
2782
from currentClusterState_lastCommittedClusterStateBefore show "currentClusterState (nodeState' n) = lastCommittedClusterStateBefore (firstUncommittedSlot (nodeState' n))"
2782
2783
unfolding updated_properties apply ( cases "n = n\<^sub>0" , auto )
0 commit comments