lean4-htt/tests/lean/abst.lean
Leonardo de Moura 0714716477 fix: file and import names, tests and stage0
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2019-10-04 17:04:02 -07:00

24 lines
654 B
Text

import Init.Lean.Expr
open Lean
def tst : IO Unit :=
do
let f := mkConst `f;
let x := Expr.fvar `x;
let y := Expr.fvar `y;
let t := Expr.app (Expr.app (Expr.app f x) y) (Expr.app f x);
IO.println t.dbgToString;
let p := t.abstract [x, y].toArray;
IO.println p.dbgToString;
IO.println (p.instantiateRev [x, y].toArray).dbgToString;
let a := mkConst `a;
let b := Expr.app f (mkConst `b);
IO.println (p.instantiateRev [a, b].toArray).dbgToString;
IO.println (p.instantiate [a].toArray).dbgToString;
let p := t.abstractRange 1 [x, y].toArray;
IO.println p.dbgToString;
let p := t.abstractRange 3 [x, y].toArray;
IO.println p.dbgToString;
pure ()
#eval tst