Skip to content

Commit 1f000fe

Browse files
authored
chore: remove unnecessary partial in Lean.Expr (#8464)
The termination prover has gotten stronger since these definitions were written, and now they can be proved terminating automatically. (One definition had to be changed slightly because it wasn't actually terminating before.)
1 parent d5060e9 commit 1f000fe

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/Lean/Expr.lean

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -750,7 +750,7 @@ def mkStrLit (s : String) : Expr :=
750750
def mkAppN (f : Expr) (args : Array Expr) : Expr :=
751751
args.foldl mkApp f
752752

753-
private partial def mkAppRangeAux (n : Nat) (args : Array Expr) (i : Nat) (e : Expr) : Expr :=
753+
private def mkAppRangeAux (n : Nat) (args : Array Expr) (i : Nat) (e : Expr) : Expr :=
754754
if i < n then mkAppRangeAux n args (i+1) (mkApp e args[i]!) else e
755755

756756
/-- `mkAppRange f i j #[a_1, ..., a_i, ..., a_j, ... ]` ==> the expression `f a_i ... a_{j-1}` -/
@@ -1502,8 +1502,8 @@ abbrev PersistentExprStructMap (α : Type) := PHashMap ExprStructEq α
15021502

15031503
namespace Expr
15041504

1505-
private partial def mkAppRevRangeAux (revArgs : Array Expr) (start : Nat) (b : Expr) (i : Nat) : Expr :=
1506-
if i == start then b
1505+
private def mkAppRevRangeAux (revArgs : Array Expr) (start : Nat) (b : Expr) (i : Nat) : Expr :=
1506+
if i start then b
15071507
else
15081508
let i := i - 1
15091509
mkAppRevRangeAux revArgs start (mkApp b revArgs[i]!) i
@@ -1880,7 +1880,7 @@ def updateFn : Expr → Expr → Expr
18801880
/--
18811881
Eta reduction. If `e` is of the form `(fun x => f x)`, then return `f`.
18821882
-/
1883-
partial def eta (e : Expr) : Expr :=
1883+
def eta (e : Expr) : Expr :=
18841884
match e with
18851885
| Expr.lam _ d b _ =>
18861886
let b' := b.eta

0 commit comments

Comments
 (0)