lean4-htt/tests/lean/run/genindices.lean
Leonardo de Moura dfa392fa17 feat: add generalizeIndices
Helper tactic for `cases`
2020-03-04 16:27:01 -08:00

27 lines
727 B
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import Init.Lean
universe u
inductive Pred : ∀ (α : Type u), List α → Type (u+1)
| foo {α : Type u} (l1 : List α) (l2 : List (Option α)) : Pred (Option α) l2 → Pred α l1
axiom goal : forall (α : Type u) (xs : List (List α)) (h : Pred (List α) xs), xs ≠ [] → xs = xs
open Lean
open Lean.Meta
def tst1 : MetaM Unit := do
cinfo ← getConstInfo `goal;
let type := cinfo.type;
mvar ← mkFreshExprMVar type;
trace! `Elab (MessageData.ofGoal mvar.mvarId!);
(_, mvarId) ← introN mvar.mvarId! 2;
(fvarId, mvarId) ← intro1 mvarId;
trace! `Elab (MessageData.ofGoal mvarId);
s ← generalizeIndices mvarId fvarId;
trace! `Elab (MessageData.ofGoal s.mvarId);
pure ()
set_option trace.Elab true
#eval tst1