. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Towards Ltac 2.0
P.-M. Pédrot
INRIA
DeepSpec Workshop
8th June 2016
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 1 / 13
Towards Ltac 2.0 P.-M. Pdrot INRIA DeepSpec Workshop 8th June - - PowerPoint PPT Presentation
. . . . . . . . . . . . . . . Towards Ltac 2.0 P.-M. Pdrot INRIA DeepSpec Workshop 8th June 2016 Pdrot (INRIA) Towards Ltac 2.0 8/06/2016 . . . . . . . . . . . . . . . . . . . . . . . . . 1 / 13 .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INRIA
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 1 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Goal (a:A)(m:list) (Null (cons a m)). Red. Intros. Do (resolve_unfolds) O_S. Exact (length m). Change <nat>(length nil)=(length (cons a m)). Do (incomplet [3]) (f_equal length). Assumption. Save nil_cons.
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 2 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 3 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 3 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 3 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 3 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 4 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 5 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 6 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 6 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 7 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 Take the best minimalist language out there: ML 2 Interpret the ambient efgects as the engine monad 3 Add some meta-programming facilities 4 Sprinkle notations here and there
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 8 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 9 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 10 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 11 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 12 / 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pédrot (INRIA) Towards Ltac 2.0 8/06/2016 13 / 13