Skip to content

Commit b4c6121

Browse files
committed
remove ctx, generalize to list
1 parent 311c1c4 commit b4c6121

3 files changed

Lines changed: 24 additions & 37 deletions

File tree

LeanSubst.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
import LeanSubst.Basic
33
import LeanSubst.Laws
4-
import LeanSubst.Context
4+
import LeanSubst.List
55
import LeanSubst.Reduction
66
import LeanSubst.Normal

LeanSubst/Context.lean

Lines changed: 0 additions & 36 deletions
This file was deleted.

LeanSubst/List.lean

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import LeanSubst.Basic
2+
3+
namespace LeanSubst
4+
5+
variable {T : Type} [Inhabited T] [RenMap T] [SubstMap T T]
6+
7+
@[simp]
8+
def List.subst_get (σ : Subst T) : List T -> Nat -> T
9+
| .nil, _ => default
10+
| .cons h _, 0 => h[σ]
11+
| .cons _ t, n + 1 => (subst_get σ t n)[σ]
12+
13+
macro:max t:term noWs "[" σ:term "|" x:term "]" : term => `(List.subst_get $σ $t $x)
14+
15+
@[simp]
16+
theorem List.subst_get_zero {σ} {A : T} {Γ : List T} : (A::Γ)[σ|0] = A[σ] := by
17+
simp [subst_get]
18+
19+
@[simp]
20+
theorem List.subst_get_succ {σ} {A : T} {Γ : List T} {x} : (A::Γ)[σ|x + 1] = Γ[σ|x][σ] := by
21+
simp [subst_get]
22+
23+
end LeanSubst

0 commit comments

Comments
 (0)