X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fnlibrary%2Flogic%2Fdestruct_bb.ma;h=f188bf80fc5f7addb293cdf9d1570e3882008fdf;hb=f8d45b2e4fa7817d7ef8312b3bb8a7439bd7fb8c;hp=f167be39330eedbb1c23f8ebe6a5c448860eb2d1;hpb=e008452eb6b63f53b4eafc13853f7521d411dd00;p=helm.git diff --git a/helm/software/matita/nlibrary/logic/destruct_bb.ma b/helm/software/matita/nlibrary/logic/destruct_bb.ma index f167be393..f188bf80f 100644 --- a/helm/software/matita/nlibrary/logic/destruct_bb.ma +++ b/helm/software/matita/nlibrary/logic/destruct_bb.ma @@ -41,17 +41,16 @@ definition r1 : ∀T0,T1,a0,b0,e0.T1 a0 → T1 b0 ≝ include "logic/equality.ma". ndefinition R1 ≝ eq_rect_Type0. - ndefinition R2 : ∀T0:Type[0]. ∀a0:T0. ∀T1:∀x0:T0. a0=x0 → Type[0]. ∀a1:T1 a0 (refl ? a0). - ∀T2:∀x0:T0. ∀p0:a0=x0. ∀x1:T1 x0 p0. R1 ??? a1 ? p0 = x1 → Type[0]. + ∀T2:∀x0:T0. ∀p0:a0=x0. ∀x1:T1 x0 p0. R1 ? a0 ? a1 ? p0 = x1 → Type[0]. ∀b0:T0. ∀e0:a0 = b0. ∀b1: T1 b0 e0. - ∀e1:R1 ??? a1 ? e0 = b1. + ∀e1:R1 ? a0 ? a1 ? e0 = b1. (* eccezine se tolgo a0 *) ∀so:T2 a0 (refl ? a0) a1 (refl ? a1).T2 b0 e0 b1 e1. #T0;#a0;#T1;#a1;#T2;#b0;#e0;#b1;#e1;#H; napply (eq_rect_Type0 ????? e1); @@ -64,16 +63,16 @@ ndefinition R3 : ∀a0:T0. ∀T1:∀x0:T0. a0=x0 → Type[0]. ∀a1:T1 a0 (refl ? a0). - ∀T2:∀x0:T0. ∀p0:a0=x0. ∀x1:T1 x0 p0. R1 ??? a1 ? p0 = x1 → Type[0]. + ∀T2:∀x0:T0. ∀p0:a0=x0. ∀x1:T1 x0 p0. R1 ? a0 ? a1 ? p0 = x1 → Type[0]. ∀a2:T2 a0 (refl ? a0) a1 (refl ? a1). - ∀T3:∀x0:T0. ∀p0:a0=x0. ∀x1:T1 x0 p0.∀p1:R1 ??? a1 ? p0 = x1. - ∀x2:T2 x0 p0 x1 p1.R2 ???? ? ? p0 ? p1 a2 = x2 → Type[0]. + ∀T3:∀x0:T0. ∀p0:a0=x0. ∀x1:T1 x0 p0.∀p1:R1 ? a0 ? a1 ? p0 = x1. + ∀x2:T2 x0 p0 x1 p1.R2 ? a0 ? a1 ? ? p0 ? p1 a2 = x2 → Type[0]. ∀b0:T0. ∀e0:a0 = b0. ∀b1: T1 b0 e0. - ∀e1:R1 ??? a1 ? e0 = b1. + ∀e1:R1 ? a0 ? a1 ? e0 = b1. ∀b2: T2 b0 e0 b1 e1. - ∀e2:R2 ???? ? ? e0 ? e1 a2 = b2. + ∀e2:R2 ? a0 ? a1 ? ? e0 ? e1 a2 = b2. ∀so:T3 a0 (refl ? a0) a1 (refl ? a1) a2 (refl ? a2).T3 b0 e0 b1 e1 b2 e2. #T0;#a0;#T1;#a1;#T2;#a2;#T3;#b0;#e0;#b1;#e1;#b2;#e2;#H; napply (eq_rect_Type0 ????? e2);