X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Ftests%2Fng_elim.ma;h=c8998a22795d4b63a3e8e45c3f4626fe7dd7ef68;hb=e880d6eab5e1700f4a625ddcd7d0fa8f0cce2dcc;hp=c3b3d09bca282ee37756171bbe539602924ce191;hpb=357baf35854c15080999b6584b4e9d27780e538b;p=helm.git diff --git a/helm/software/matita/tests/ng_elim.ma b/helm/software/matita/tests/ng_elim.ma index c3b3d09bc..c8998a227 100644 --- a/helm/software/matita/tests/ng_elim.ma +++ b/helm/software/matita/tests/ng_elim.ma @@ -12,6 +12,8 @@ (* *) (**************************************************************************) +include "ng_pts.ma". + ninductive nat: Type ≝ O: nat | S: nat → nat. @@ -26,6 +28,17 @@ nlet rec nat_rec (Q: nat → Type) H_O H_S x_1 on x_1 : Q x_1 ≝ | S x_2 ⇒ H_S x_2 (nat_rec Q H_O H_S x_2) ]. + +ninductive ord: Type ≝ + OO: ord + | OS: ord → ord + | OLim: (nat → ord) → ord. + +nlet rec ord_rect (Q_: (∀ (x_3: (ord)).Type)) H_OO H_OS H_OLim x_3 on x_3: (Q_ x_3) ≝ + (match x_3 with [OO ⇒ (H_OO) | (OS x_4) ⇒ (H_OS x_4 (ord_rect Q_ H_OO H_OS H_OLim (x_4))) | (OLim x_6) ⇒ (H_OLim x_6 (λx_5.(ord_rect Q_ H_OO H_OS H_OLim (x_6 x_5))))]). + + + naxiom P: nat → Prop. naxiom p: ∀m. P m. @@ -37,8 +50,7 @@ nlet rec le_rect n N (Q_: (∀ m.(∀ x_4.(∀ (x_3: (le n N m x_4)).Type)))) H_ on x_3: (Q_ m x_4 x_3) ≝ (match x_3 with [len ⇒ (H_len) | (leS m q x_5) ⇒ (H_leS m q x_5 (le_rect n N Q_ H_len H_leS ? ? x_5))]). - - +(* nlet rec le_rec' (n:nat) (Q: ∀D1:nat.∀D2: P D1. le n D1 D2 → Type) (p1: ?) (p2: ?) (D1:nat) (D2:P D1) (x: le n D1 D2) on x : Q D1 D2 x ≝ match x with [ len ⇒ p1 @@ -52,4 +64,15 @@ nlet rec le_rec (n:nat) (Q: ∀D1:nat.∀D2: P D1. le n D1 D2 → Type) (p1: ?) ##] ## |##*: ## skip; ## ] -nqed. \ No newline at end of file +nqed.*) + +ninductive list (A:Type) : nat → Type ≝ + nil: list A O + | cons: ∀n. A → list A n → list A (S n). + +ninductive ii: Type ≝ + kk: list ii O → ii. + +nlet rec ii_rect (Q_: (∀(x_16: ii).Type)) H_kknil H_kkcons x_16 on x_16: (Q_ x_16) ≝ + (match x_16 with + [ kk x_17 ⇒ list_rect ii (λx_17.Q_ (kk x_17)) H_kknil (λw.H_kkcons w (ii_rect Q_ H_kknil H_kkcons w)) x_17 ]). \ No newline at end of file