@@ -48,14 +48,14 @@ theorem Ty.tvar_subst_succVar_comm {X : TVar (s1 ++ s0)} (σ : Subst s1 s2) :
48
48
simp only [Subst.lift, Ty.subst]
49
49
conv => lhs; simp only [Subst.liftVar]
50
50
conv => rhs; simp only [Subst.tvar_there_var_liftVar]
51
- simp only [Rename.lift, <- Ty.rename_succVar_comm]
51
+ simp only [Rename.lift, ← Ty.rename_succVar_comm]
52
52
congr; exact (ih (X:=X0))
53
53
case push_tvar s0 ih =>
54
54
cases X <;> try rfl
55
55
case there_tvar X0 =>
56
56
conv => lhs; simp only [Subst.lift, Ty.subst]
57
57
conv => lhs; simp only [Subst.liftTVar, Rename.lift]
58
- simp only [<- Ty.rename_succTVar_comm]
58
+ simp only [← Ty.rename_succTVar_comm]
59
59
congr; exact (ih (X:=X0))
60
60
61
61
/-- Proves that substitution commutes with type variable weakening for type variables. -/
@@ -69,14 +69,14 @@ theorem Ty.tvar_subst_succTVar_comm {X : TVar (s1 ++ s0)} (σ : Subst s1 s2) :
69
69
case there_var X0 =>
70
70
conv => lhs; simp only [Subst.lift, Ty.subst]
71
71
conv => lhs; simp only [Subst.liftVar, Rename.lift]
72
- simp only [<- Ty.rename_succVar_comm]
72
+ simp only [← Ty.rename_succVar_comm]
73
73
congr; exact (ih (X:=X0))
74
74
case push_tvar s0 ih =>
75
75
cases X <;> try rfl
76
76
case there_tvar X0 =>
77
77
conv => lhs; simp only [Subst.lift, Ty.subst]
78
78
conv => lhs; simp only [Subst.liftTVar, Rename.lift]
79
- simp only [<- Ty.rename_succTVar_comm]
79
+ simp only [← Ty.rename_succTVar_comm]
80
80
congr; exact (ih (X:=X0))
81
81
82
82
/-- Proves that substitution commutes with term variable weakening for types. -/
@@ -143,14 +143,14 @@ theorem Exp.var_subst_succTVar_comm {x : Var (s1 ++ s0)} (σ : Subst s1 s2) :
143
143
case there_var x0 =>
144
144
conv => lhs; simp only [Subst.lift, Exp.subst]
145
145
conv => lhs; simp only [Subst.liftVar, Rename.lift]
146
- simp only [<- Exp.rename_succVar_comm]
146
+ simp only [← Exp.rename_succVar_comm]
147
147
congr; exact (ih (x:=x0))
148
148
case push_tvar s0 ih =>
149
149
cases x
150
150
case there_tvar x0 =>
151
151
conv => lhs; simp only [Subst.liftVar, Subst.lift, Rename.lift]
152
152
conv => lhs; simp only [Exp.subst, Subst.liftTVar]
153
- simp only [<- Exp.rename_succTVar_comm]
153
+ simp only [← Exp.rename_succTVar_comm]
154
154
congr; exact (ih (x:=x0))
155
155
156
156
/-- Proves that substitution commutes with term variable weakening for variables. -/
@@ -162,13 +162,13 @@ theorem Exp.var_subst_succVar_comm {x : Var (s1 ++ s0)} (σ : Subst s1 s2) :
162
162
cases x <;> try rfl
163
163
case there_var x0 =>
164
164
conv => lhs; simp only [Subst.lift, Exp.subst, Subst.liftVar, Rename.lift]
165
- simp only [<- Exp.rename_succVar_comm]
165
+ simp only [← Exp.rename_succVar_comm]
166
166
congr; exact (ih (x:=x0))
167
167
case push_tvar s0 ih =>
168
168
cases x
169
169
case there_tvar x0 =>
170
170
conv => lhs; simp only [Subst.lift, Exp.subst, Subst.liftTVar, Rename.lift]
171
- simp only [<- Exp.rename_succTVar_comm]
171
+ simp only [← Exp.rename_succTVar_comm]
172
172
congr; exact (ih (x:=x0))
173
173
174
174
/-- Proves that substitution commutes with type variable weakening for expressions. -/
@@ -330,7 +330,7 @@ theorem Subst.open_tvar_rename_comm {T : Ty s} {f : Rename s s'} :
330
330
/-- Proves that opening a type variable commutes with renaming for types. -/
331
331
theorem Ty.open_tvar_rename_comm {T : Ty (s,X)} {U : Ty s} {f : Rename s s'} :
332
332
(T.open_tvar U).rename f = (T.rename f.liftTVar).open_tvar (U.rename f) := by
333
- simp [Ty.open_tvar, <- Ty.subst_asSubst]
333
+ simp [Ty.open_tvar, ← Ty.subst_asSubst]
334
334
grind [Ty.subst_comp, Subst.open_tvar_rename_comm, Ty.subst_asSubst]
335
335
336
336
/-- Shows that successively weakening then opening a type variable gives the identity. -/
@@ -341,14 +341,14 @@ theorem Subst.succTVar_open_tvar {T : Ty s} :
341
341
theorem Exp.rename_succTVar_open_tvar {e : Exp s} :
342
342
(e.rename Rename.succTVar).subst (Subst.open_tvar X) =
343
343
e := by
344
- simp [<- Exp.subst_asSubst]
344
+ simp [← Exp.subst_asSubst]
345
345
grind [Exp.subst_comp, Subst.succTVar_open_tvar, Exp.subst_id]
346
346
347
347
/-- Proves that renaming with succTVar then opening cancels out for types. -/
348
348
theorem Ty.rename_succTVar_open_tvar {T : Ty s} :
349
349
(T.rename Rename.succTVar).subst (Subst.open_tvar X) =
350
350
T := by
351
- simp [<- Ty.subst_asSubst]
351
+ simp [← Ty.subst_asSubst]
352
352
grind [Ty.subst_comp, Subst.succTVar_open_tvar, Ty.subst_id]
353
353
354
354
/-- Shows that successively weakening then opening a term variable gives the identity. -/
@@ -359,14 +359,14 @@ theorem Subst.succVar_open_var {e : Exp s} :
359
359
theorem Exp.rename_succVar_open_var {e : Exp s} :
360
360
(e.rename Rename.succVar).subst (Subst.open_var X) =
361
361
e := by
362
- simp [<- Exp.subst_asSubst]
362
+ simp [← Exp.subst_asSubst]
363
363
grind [Exp.subst_comp, Subst.succVar_open_var, Exp.subst_id]
364
364
365
365
/-- Proves that renaming with succVar then opening cancels out for types. -/
366
366
theorem Ty.rename_succVar_open_var {T : Ty s} :
367
367
(T.rename Rename.succVar).subst (Subst.open_var X) =
368
368
T := by
369
- simp [<- Ty.subst_asSubst]
369
+ simp [← Ty.subst_asSubst]
370
370
grind [Ty.subst_comp, Subst.succVar_open_var, Ty.subst_id]
371
371
372
372
/-- Proves that opening a type variable commutes with substitution for substitutions. -/
0 commit comments