25 lines
534 B
Text
25 lines
534 B
Text
import Lean.Expr
|
|
|
|
open Lean
|
|
|
|
def tst : IO Unit :=
|
|
do
|
|
let f := mkConst `f;
|
|
let x := mkFVar { name := `x };
|
|
let y := mkFVar { name := `y };
|
|
let t := mkApp (mkApp (mkApp f x) y) (mkApp f x);
|
|
IO.println t;
|
|
let p := t.abstract [x, y].toArray;
|
|
IO.println p;
|
|
IO.println $ p.instantiateRev #[x, y];
|
|
let a := mkConst `a;
|
|
let b := mkApp f (mkConst `b);
|
|
IO.println $ p.instantiateRev #[a, b];
|
|
IO.println $ p.instantiate #[a];
|
|
let p := t.abstractRange 1 #[x, y];
|
|
IO.println p;
|
|
let p := t.abstractRange 3 #[x, y];
|
|
IO.println p;
|
|
pure ()
|
|
|
|
#eval tst
|