@@ -13,13 +13,8 @@ inductive Red : Term -> Term -> Prop where
1313
1414infix :80 " ~> " => Red
1515infix :81 " ~>* " => Star Red
16-
17- inductive RedSubstAction : Subst.Action Term -> Subst.Action Term -> Prop where
18- | su {t t'} : t ~> t' -> RedSubstAction (.su t) (.su t')
19- | re {x} : RedSubstAction (.re x) (.re x)
20-
21- infix :80 " ~s> " => RedSubstAction
22- infix :81 " ~s>* " => Star RedSubstAction
16+ infix :80 " ~s> " => ActionRed Red
17+ infix :81 " ~s>* " => Star (ActionRed Red)
2318
2419inductive ParRed : Term -> Term -> Prop where
2520| var {x} : ParRed (.var x) (.var x)
@@ -37,13 +32,8 @@ inductive ParRed : Term -> Term -> Prop where
3732
3833infix :80 " ~p> " => ParRed
3934infix :81 " ~p>* " => Star ParRed
40-
41- inductive ParRedSubstAction : Subst.Action Term -> Subst.Action Term -> Prop where
42- | su {t t'} : t ~p> t' -> ParRedSubstAction (.su t) (.su t')
43- | re {x} : ParRedSubstAction (.re x) (.re x)
44-
45- infix :80 " ~ps> " => ParRedSubstAction
46- infix :81 " ~ps>* " => Star ParRedSubstAction
35+ infix :80 " ~ps> " => ActionRed ParRed
36+ infix :81 " ~ps>* " => Star (ActionRed ParRed)
4737
4838namespace ParRed
4939 theorem refl {t} : t ~p> t := by
@@ -92,9 +82,9 @@ namespace ParRed
9282 generalize zpdef : σ' x = z' at *
9383 cases z <;> cases z'
9484 all_goals (cases h; try simp [*])
95- apply ParRedSubstAction .re
85+ apply ActionRed .re
9686 case _ r =>
97- apply ParRedSubstAction .su
87+ apply ActionRed .su
9888 apply subst _ r
9989
10090 theorem subst_red_lift {σ σ' : Subst Term} :
@@ -103,7 +93,7 @@ namespace ParRed
10393 := by
10494 intro h x
10595 cases x <;> simp
106- case _ => apply ParRedSubstAction .re
96+ case _ => apply ActionRed .re
10797 case _ x =>
10898 have lem := subst_action (· + 1 ) (h x); simp at lem
10999 apply lem
@@ -147,8 +137,8 @@ namespace ParRed
147137 case beta ih1 ih2 =>
148138 apply hsubst
149139 intro x; cases x <;> simp
150- apply ParRedSubstAction .su; apply ih2
151- apply ParRedSubstAction .re; apply ih1
140+ apply ActionRed .su; apply ih2
141+ apply ActionRed .re; apply ih1
152142 case app f f' a a' r1 r2 ih1 ih2 =>
153143 cases f <;> simp at *
154144 case var => apply ParRed.app ih1 ih2
@@ -195,9 +185,9 @@ namespace Red
195185 generalize zpdef : σ' x = z' at *
196186 cases z <;> cases z'
197187 all_goals (cases h; try simp [*])
198- apply RedSubstAction .re
188+ apply ActionRed .re
199189 case _ r =>
200- apply RedSubstAction .su
190+ apply ActionRed .su
201191 apply subst _ r
202192
203193 theorem subst_red_lift {σ σ' : Subst Term} :
@@ -206,7 +196,7 @@ namespace Red
206196 := by
207197 intro h x
208198 cases x <;> simp
209- case _ => apply RedSubstAction .re
199+ case _ => apply ActionRed .re
210200 case _ x =>
211201 have lem := subst_action (· + 1 ) (h x); simp at lem
212202 apply lem
@@ -252,14 +242,14 @@ namespace Red
252242 case _ => apply Star.refl
253243 case _ r1 r2 ih =>
254244 apply Star.step ih
255- apply ParRedSubstAction .su r2
245+ apply ActionRed .su r2
256246
257247 theorem seqs_action_lift : t ~>* t' -> .su t ~s>* .su t' := by
258248 intro r; induction r
259249 case _ => apply Star.refl
260250 case _ r1 r2 ih =>
261251 apply Star.step ih
262- apply RedSubstAction .su r2
252+ apply ActionRed .su r2
263253
264254 theorem seqs_action_destruct : a ~s>* .su t' -> ∃ t, a = .su t ∧ t ~>* t' := by
265255 intro r
0 commit comments