Switches from encoding `let_fun` using an annotated `(fun x : t => b) v` expression to a function application `letFun v (fun x : t => b)`. --------- Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
26 lines
396 B
Text
26 lines
396 B
Text
let_fun f := fun x => x * 2;
|
|
let_fun x := 1;
|
|
let_fun y := x + 1;
|
|
f (y + x) : Nat
|
|
a b : Nat
|
|
h1 : a = 0
|
|
h2 : b = 0
|
|
⊢ (let_fun x := 1;
|
|
x + x) >
|
|
b
|
|
(let_fun this := id;
|
|
this)
|
|
1 : Nat
|
|
a b : Nat
|
|
h : a > b
|
|
⊢ a > b
|
|
let_fun n := 5;
|
|
{ val := [], property := (_ : 0 ≤ n) } : { as // List.length as ≤ 5 }
|
|
rfl : (let_fun n := 5;
|
|
n) =
|
|
let_fun n := 5;
|
|
n
|
|
rfl : 2 = 2
|
|
5
|
|
let_fun n := 5;
|
|
n
|