From 4e597ea3577c4451f2b244c5764f393897bc107b Mon Sep 17 00:00:00 2001
From: Robbert Krebbers <mail@robbertkrebbers.nl>
Date: Thu, 13 Dec 2018 10:12:38 +0100
Subject: [PATCH] Rename constructors of intro pattern stack_items (used in the
 parser).

This is to avoid confusion with those of selection patterns.
---
 theories/proofmode/intro_patterns.v | 96 ++++++++++++++---------------
 1 file changed, 48 insertions(+), 48 deletions(-)

diff --git a/theories/proofmode/intro_patterns.v b/theories/proofmode/intro_patterns.v
index e24ab1e67..b15ae8b9d 100644
--- a/theories/proofmode/intro_patterns.v
+++ b/theories/proofmode/intro_patterns.v
@@ -24,25 +24,25 @@ Inductive intro_pat :=
 
 Module intro_pat.
 Inductive stack_item :=
-  | SPat : intro_pat → stack_item
-  | SList : stack_item
-  | SConjList : stack_item
-  | SBar : stack_item
-  | SAmp : stack_item
-  | SAlwaysElim : stack_item
-  | SModalElim : stack_item.
+  | StPat : intro_pat → stack_item
+  | StList : stack_item
+  | StConjList : stack_item
+  | StBar : stack_item
+  | StAmp : stack_item
+  | StAlwaysElim : stack_item
+  | StModalElim : stack_item.
 Notation stack := (list stack_item).
 
 Fixpoint close_list (k : stack)
     (ps : list intro_pat) (pss : list (list intro_pat)) : option stack :=
   match k with
-  | SList :: k => Some (SPat (IList (ps :: pss)) :: k)
-  | SPat pat :: k => close_list k (pat :: ps) pss
-  | SAlwaysElim :: k =>
+  | StList :: k => Some (StPat (IList (ps :: pss)) :: k)
+  | StPat pat :: k => close_list k (pat :: ps) pss
+  | StAlwaysElim :: k =>
      ''(p,ps) ← maybe2 (::) ps; close_list k (IAlwaysElim p :: ps) pss
-  | SModalElim :: k =>
+  | StModalElim :: k =>
      ''(p,ps) ← maybe2 (::) ps; close_list k (IModalElim p :: ps) pss
-  | SBar :: k => close_list k [] (ps :: pss)
+  | StBar :: k => close_list k [] (ps :: pss)
   | _ => None
   end.
 
@@ -57,55 +57,55 @@ Fixpoint big_conj (ps : list intro_pat) : intro_pat :=
 Fixpoint close_conj_list (k : stack)
     (cur : option intro_pat) (ps : list intro_pat) : option stack :=
   match k with
-  | SConjList :: k =>
+  | StConjList :: k =>
      ps ← match cur with
           | None => guard (ps = []); Some [] | Some p => Some (p :: ps)
           end;
-     Some (SPat (big_conj ps) :: k)
-  | SPat pat :: k => guard (cur = None); close_conj_list k (Some pat) ps
-  | SAlwaysElim :: k => p ← cur; close_conj_list k (Some (IAlwaysElim p)) ps
-  | SModalElim :: k => p ← cur; close_conj_list k (Some (IModalElim p)) ps
-  | SAmp :: k => p ← cur; close_conj_list k None (p :: ps)
+     Some (StPat (big_conj ps) :: k)
+  | StPat pat :: k => guard (cur = None); close_conj_list k (Some pat) ps
+  | StAlwaysElim :: k => p ← cur; close_conj_list k (Some (IAlwaysElim p)) ps
+  | StModalElim :: k => p ← cur; close_conj_list k (Some (IModalElim p)) ps
+  | StAmp :: k => p ← cur; close_conj_list k None (p :: ps)
   | _ => None
   end.
 
 Fixpoint parse_go (ts : list token) (k : stack) : option stack :=
   match ts with
   | [] => Some k
-  | TName "_" :: ts => parse_go ts (SPat IDrop :: k)
-  | TName s :: ts => parse_go ts (SPat (IIdent s) :: k)
-  | TAnom :: ts => parse_go ts (SPat IAnom :: k)
-  | TFrame :: ts => parse_go ts (SPat IFrame :: k)
-  | TBracketL :: ts => parse_go ts (SList :: k)
-  | TBar :: ts => parse_go ts (SBar :: k)
+  | TName "_" :: ts => parse_go ts (StPat IDrop :: k)
+  | TName s :: ts => parse_go ts (StPat (IIdent s) :: k)
+  | TAnom :: ts => parse_go ts (StPat IAnom :: k)
+  | TFrame :: ts => parse_go ts (StPat IFrame :: k)
+  | TBracketL :: ts => parse_go ts (StList :: k)
+  | TBar :: ts => parse_go ts (StBar :: k)
   | TBracketR :: ts => close_list k [] [] ≫= parse_go ts
-  | TParenL :: ts => parse_go ts (SConjList :: k)
-  | TAmp :: ts => parse_go ts (SAmp :: k)
+  | TParenL :: ts => parse_go ts (StConjList :: k)
+  | TAmp :: ts => parse_go ts (StAmp :: k)
   | TParenR :: ts => close_conj_list k None [] ≫= parse_go ts
-  | TPure :: ts => parse_go ts (SPat IPureElim :: k)
-  | TAlways :: ts => parse_go ts (SAlwaysElim :: k)
-  | TModal :: ts => parse_go ts (SModalElim :: k)
-  | TArrow d :: ts => parse_go ts (SPat (IRewrite d) :: k)
-  | TPureIntro :: ts => parse_go ts (SPat IPureIntro :: k)
-  | TAlwaysIntro :: ts => parse_go ts (SPat IAlwaysIntro :: k)
-  | TModalIntro :: ts => parse_go ts (SPat IModalIntro :: k)
-  | TSimpl :: ts => parse_go ts (SPat ISimpl :: k)
-  | TDone :: ts => parse_go ts (SPat IDone :: k)
-  | TAll :: ts => parse_go ts (SPat IAll :: k)
-  | TForall :: ts => parse_go ts (SPat IForall :: k)
+  | TPure :: ts => parse_go ts (StPat IPureElim :: k)
+  | TAlways :: ts => parse_go ts (StAlwaysElim :: k)
+  | TModal :: ts => parse_go ts (StModalElim :: k)
+  | TArrow d :: ts => parse_go ts (StPat (IRewrite d) :: k)
+  | TPureIntro :: ts => parse_go ts (StPat IPureIntro :: k)
+  | TAlwaysIntro :: ts => parse_go ts (StPat IAlwaysIntro :: k)
+  | TModalIntro :: ts => parse_go ts (StPat IModalIntro :: k)
+  | TSimpl :: ts => parse_go ts (StPat ISimpl :: k)
+  | TDone :: ts => parse_go ts (StPat IDone :: k)
+  | TAll :: ts => parse_go ts (StPat IAll :: k)
+  | TForall :: ts => parse_go ts (StPat IForall :: k)
   | TBraceL :: ts => parse_clear ts k
   | _ => None
   end
 with parse_clear (ts : list token) (k : stack) : option stack :=
   match ts with
-  | TFrame :: TName s :: ts => parse_clear ts (SPat (IClearFrame (SelIdent s)) :: k)
-  | TFrame :: TPure :: ts => parse_clear ts (SPat (IClearFrame SelPure) :: k)
-  | TFrame :: TAlways :: ts => parse_clear ts (SPat (IClearFrame SelPersistent) :: k)
-  | TFrame :: TSep :: ts => parse_clear ts (SPat (IClearFrame SelSpatial) :: k)
-  | TName s :: ts => parse_clear ts (SPat (IClear (SelIdent s)) :: k)
-  | TPure :: ts => parse_clear ts (SPat (IClear SelPure) :: k)
-  | TAlways :: ts => parse_clear ts (SPat (IClear SelPersistent) :: k)
-  | TSep :: ts => parse_clear ts (SPat (IClear SelSpatial) :: k)
+  | TFrame :: TName s :: ts => parse_clear ts (StPat (IClearFrame (SelIdent s)) :: k)
+  | TFrame :: TPure :: ts => parse_clear ts (StPat (IClearFrame SelPure) :: k)
+  | TFrame :: TAlways :: ts => parse_clear ts (StPat (IClearFrame SelPersistent) :: k)
+  | TFrame :: TSep :: ts => parse_clear ts (StPat (IClearFrame SelSpatial) :: k)
+  | TName s :: ts => parse_clear ts (StPat (IClear (SelIdent s)) :: k)
+  | TPure :: ts => parse_clear ts (StPat (IClear SelPure) :: k)
+  | TAlways :: ts => parse_clear ts (StPat (IClear SelPersistent) :: k)
+  | TSep :: ts => parse_clear ts (StPat (IClear SelSpatial) :: k)
   | TBraceR :: ts => parse_go ts k
   | _ => None
   end.
@@ -113,9 +113,9 @@ with parse_clear (ts : list token) (k : stack) : option stack :=
 Fixpoint close (k : stack) (ps : list intro_pat) : option (list intro_pat) :=
   match k with
   | [] => Some ps
-  | SPat pat :: k => close k (pat :: ps)
-  | SAlwaysElim :: k => ''(p,ps) ← maybe2 (::) ps; close k (IAlwaysElim p :: ps)
-  | SModalElim :: k => ''(p,ps) ← maybe2 (::) ps; close k (IModalElim p :: ps)
+  | StPat pat :: k => close k (pat :: ps)
+  | StAlwaysElim :: k => ''(p,ps) ← maybe2 (::) ps; close k (IAlwaysElim p :: ps)
+  | StModalElim :: k => ''(p,ps) ← maybe2 (::) ps; close k (IModalElim p :: ps)
   | _ => None
   end.
 
-- 
GitLab