From dbabb0124814c38f11f839f8a67146011107133d Mon Sep 17 00:00:00 2001 From: Son Ho Date: Fri, 26 Apr 2024 10:28:32 +0200 Subject: Update a decreases clause --- tests/fstar/betree/BetreeMain.Clauses.fst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/fstar/betree/BetreeMain.Clauses.fst b/tests/fstar/betree/BetreeMain.Clauses.fst index b95d4c7e..fcef89ed 100644 --- a/tests/fstar/betree/BetreeMain.Clauses.fst +++ b/tests/fstar/betree/BetreeMain.Clauses.fst @@ -130,12 +130,18 @@ let betree_Node_lookup_first_message_for_key_decreases (key : u64) (msgs : betree_List_t (u64 & betree_Message_t)) : betree_List_t (u64 & betree_Message_t) = msgs + +let rec list_length (#a : Type0) (ls : betree_List_t a) : nat = + match ls with + | Betree_List_Cons _ ls -> 1 + list_length ls + | Betree_List_Nil -> 0 + (** [betree_main::betree::Node::{5}::apply_upserts]: decreases clause *) unfold let betree_Node_apply_upserts_decreases (msgs : betree_List_t (u64 & betree_Message_t)) (prev : option u64) (key : u64) : betree_List_t (u64 & betree_Message_t) = - msgs + list_length msgs (** [betree_main::betree::Internal::{4}::lookup_in_children]: decreases clause *) unfold -- cgit v1.2.3