From aa590968cbe50cac72fa14b7992bfa6f80fada84 Mon Sep 17 00:00:00 2001
From: Patrick Baudin <patrick.baudin@cea.fr>
Date: Wed, 12 Jan 2022 15:08:26 +0100
Subject: [PATCH] [WP] adds comments in the tactics dedicated to sequences

---
 src/plugins/wp/TacSequence.ml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/plugins/wp/TacSequence.ml b/src/plugins/wp/TacSequence.ml
index 3671cd67b73..83ef006f631 100644
--- a/src/plugins/wp/TacSequence.ml
+++ b/src/plugins/wp/TacSequence.ml
@@ -63,12 +63,16 @@ class sequence =
             begin
               match self#get_field vmode with
               | `Sum ->
+                  (* n1>=0 && n2>=0 && ... |- (a *^ (n1 + n2 + ...)) -+-> ((a *^ n1) ^ (a *^ n2) ^ ...) *)
                   let ns = sum n in
+                  (* NB. the term is rewriten in itself when the initial term is not a sum *)
                   let pos = F.p_all positive ns in
                   let cat = concat ~result (List.map (repeat ~result a) ns) in
                   Tactical.condition "Positive" pos @@
                   Tactical.rewrite ?at [ "Unroll" , pos , value , cat ]
               | `Left ->
+                  (*   n<=0 |- (a *^ n) -+-> [] *)
+                  (* n-1>=0 |- (a *^ n) -+-> (a ^ (a *^ (n-1))) *)
                   let p = F.e_add n F.e_minus_one in
                   let unroll = concat ~result [a ; repeat ~result a p] in
                   Tactical.rewrite ?at [
@@ -76,6 +80,8 @@ class sequence =
                     "Unroll", positive p , value , unroll ;
                   ]
               | `Right ->
+                  (*   n<=0 |- (a *^ n) -+-> [] *)
+                  (* n-1>=0 |- (a *^ n) -+-> ((a *^ (n-1)) ^ a) *)
                   let p = F.e_add n F.e_minus_one in
                   let unroll = concat ~result [repeat ~result a p ; a] in
                   Tactical.rewrite ?at [
-- 
GitLab