ndefinition thesis0: ∀A:Type.Type ≝ λA. A → A.
-alias id "thesis0" = "cic:/matita/tests/ng_commands/thesis0.def(0)".
-
ndefinition thesis: ∀A:Type.Type ≝ λA. ?.
napply (A → A);
nqed.
-alias id "thesis" = "cic:/matita/tests/ng_commands/thesis.def(0)".
-
ntheorem foo: ∀A:Type.thesis A.#A;#x;napply x;
nqed.
-alias id "foo" = "cic:/matita/tests/ng_commands/foo.def(0)".
-
ntheorem goo: ∀A:Type.A → A. #A; napply (foo ?);
nqed.
-naxiom P: Prop.
+naxiom NP: Prop.
-alias id "P" = "cic:/matita/tests/ng_commands/P.decl".
-
-ndefinition Q: Prop ≝ P.
+ndefinition Q: Prop ≝ NP.
nlet rec nzero (n:nat) : nat ≝
match n with
[ O ⇒ O
| S m ⇒ nzero m].
-alias id "nzero" = "cic:/matita/tests/ng_commands/nzero.fix(0,0,0)".
-
ntheorem nzero_ok: nzero (S (S O)) = O.
napply (refl_eq ? O);
nqed.