packages feed

ivor-0.1.5: examplett/general.tt

Data Nat:* = O:Nat | S:(k:Nat)Nat;

General Y;

genplus:(m:Nat)(n:Nat)Nat;
by Y;
intro PLUS m n;
induction m;
fill n;
intros;
fill S (PLUS k n);
Qed;

undefined:(A:*)A;
by Y;
intro UNDEF A;
refine UNDEF;
Qed;
Freeze undefined;

Data List (A:*) : * = nil:List A | cons:(x:A)(xs:List A)List A;

head:(A:*)(xs:List A)A;
intros;
induction xs;
refine undefined;
intros;
refine x;
Qed;

Eval head _ (cons _ O (nil Nat));
Eval head _ (nil Nat);