diff --git a/src/Ouroboros-Mini_Protocols-Chain_Sync.thy b/src/Ouroboros-Mini_Protocols-Chain_Sync.thy index 336e7c1..b355811 100644 --- a/src/Ouroboros-Mini_Protocols-Chain_Sync.thy +++ b/src/Ouroboros-Mini_Protocols-Chain_Sync.thy @@ -79,8 +79,8 @@ datatype phase = is_intersection_finding: IntersectionFinding | is_chain_update: ChainUpdate -definition roll_back_to :: "'i list \ 'p \ ('i \ 'p) \ 'i list" where - [simp]: "roll_back_to \ p \ = (THE \\<^sub>1. \\\<^sub>2. \ = \\<^sub>1 @ \\<^sub>2 \ \ (last \\<^sub>1) = p)" +definition roll_back_to :: "('i \ 'p) \ 'i list \ 'p \ 'i list" where + [simp]: "roll_back_to \ \ p = (THE \\<^sub>1. \\\<^sub>2. \ = \\<^sub>1 @ \\<^sub>2 \ \ (last \\<^sub>1) = p)" corec client_program where "client_program ph \ \ \ = ( @@ -100,7 +100,7 @@ corec client_program where Cont (RollForward i) \ client_program ph \ \ (\ @ [i]) | Cont (RollBackward p) \ - client_program ph \ \ (roll_back_to \ p \) | + client_program ph \ \ (roll_back_to \ \ p) | Cont AwaitReply \ \ \client is up to date\ \ Done; \