ninductive nnat: Type ≝
nO: nnat
- | nS: nnat → nnat.
+ | nS: mat → mat → nnat
+with mat: Type ≝
+ |mS : nnat → mat
+.
+
+nlet rec nnzero (n:nnat) : nnat ≝
+ match n return ? with
+ [ nO ⇒ nO
+ | nS m _ ⇒ nmzero m ]
+and nmzero (m:mat) : nnat ≝
+ match m return ? with
+ [ mS n ⇒ nnzero n ].
(* testare anche i record e le ricorsioni/coricorsioni/(co)induttivi MUTUI *)