X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Ftests%2Fng_commands.ma;h=2241043a9fe05d09f723d02ba1f0ef54c3714bdc;hb=647b419e96770d90a82d7a9e5e8843566a9f93ee;hp=03d9df0927824cfe6dce028b5bac37220268e29a;hpb=0542386e10041791982e7240f281299677b1997b;p=helm.git diff --git a/helm/software/matita/tests/ng_commands.ma b/helm/software/matita/tests/ng_commands.ma index 03d9df092..2241043a9 100644 --- a/helm/software/matita/tests/ng_commands.ma +++ b/helm/software/matita/tests/ng_commands.ma @@ -12,7 +12,7 @@ (* *) (**************************************************************************) -include "nat/plus.ma". +include "ng_pts.ma". ndefinition thesis0: ∀A:Type.Type ≝ λA. A → A. @@ -30,6 +30,8 @@ naxiom NP: Prop. ndefinition Q: Prop ≝ NP. +include "nat/nat.ma". + nlet rec nzero (n:nat) : nat ≝ match n with [ O ⇒ O @@ -39,12 +41,22 @@ ntheorem nzero_ok: nzero (S (S O)) = O. napply (refl_eq ? O); nqed. -ninductive nnat: Type ≝ - nO: nnat - | nS: nnat → nnat. - -(* testare anche i record e le ricorsioni/coricorsioni/(co)induttivi MUTUI *) - -(* -nrecord pair: Type ≝ { l: pair; r: pair }. -*) \ No newline at end of file +naxiom DT: nat → Type. +naxiom dt: ∀n. DT n. + +ninductive nnat (n: nat) (A:DT n): Type ≝ + nO: nnat n A + | nS: mat n A → mat n A → nnat n A +with mat: Type ≝ + |mS : nnat n A → mat n A. + +nlet rec nnzero (n:nnat 0 (dt ?)) : nnat 0 (dt ?) ≝ + match n return ? with + [ nO ⇒ nO 0 (dt ?) + | nS m _ ⇒ nmzero m ] +and nmzero (m:mat 0 (dt ?)) : nnat 0 (dt ?) ≝ + match m return ? with + [ mS n ⇒ nnzero n ]. + +nrecord pair (n: nat) (x: DT n) (label: Type): Type ≝ + { lbl:label; l: pair n x label; r: pair n x label}.