X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FgTopLevel%2Fesempi%2Felim2.cic;h=f44eba834838f412480b6d73b46bb3daa1b25263;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=da77539661f9152f7dd894f06bbe12700b55d91f;hpb=fde1a6daa3aaa72c5c7536f4d2c65a3873b1c1bc;p=helm.git diff --git a/helm/gTopLevel/esempi/elim2.cic b/helm/gTopLevel/esempi/elim2.cic index da7753966..f44eba834 100644 --- a/helm/gTopLevel/esempi/elim2.cic +++ b/helm/gTopLevel/esempi/elim2.cic @@ -1,6 +1,6 @@ alias nat /Coq/Init/Datatypes/nat.ind#1/1 -alias eq /Coq/Init/Logic/Equality/eq.ind#1/1 -alias eq_ind /Coq/Init/Logic/Equality/eq_ind.con +alias eq /Coq/Init/Logic/eq.ind#1/1 +alias eq_ind /Coq/Init/Logic/eq_ind.con alias eqT /Coq/Init/Logic_Type/eqT.ind#1/1 alias O /Coq/Init/Datatypes/nat.ind#1/1/1 alias S /Coq/Init/Datatypes/nat.ind#1/1/2 @@ -9,17 +9,25 @@ alias mult /Coq/Init/Peano/mult.con alias le /Coq/Init/Peano/le.ind#1/1 alias lt /Coq/Init/Peano/lt.con alias not /Coq/Init/Logic/not.con -alias and /Coq/Init/Logic/Conjunction/and.ind#1/1 +alias and /Coq/Init/Logic/and.ind#1/1 alias prod /Coq/Init/Datatypes/prod.ind#1/1 -alias list /Coq/Lists/PolyList/Lists/list.ind#1/1 -alias AllS_assoc /Coq/Lists/TheoryList/Lists/Assoc_sec/AllS_assoc.ind#1/1 +alias list /Coq/Lists/PolyList/list.ind#1/1 +alias AllS_assoc /Coq/Lists/TheoryList/AllS_assoc.ind#1/1 +alias V /Coq/Lists/PolyList/Lists/A.var +alias VA /Coq/Lists/TheoryList/Lists/A.var +alias VB /Coq/Lists/TheoryList/Lists/Assoc_sec/B.var -!A:Set.!B:Set.!P:!a:A.Prop.!l:(list (prod A B)). - !H:(AllS_assoc A B P l). +!A:Set.!B:Set.!P:!a:A.Prop.!l:list{V := (prod A B)}. + !H:(AllS_assoc {VA := A ; VB := B} P l). (and - (eq (list (prod A B)) l l) + (eq list{V := (prod A B)} l l) (eqT !n:A.Prop P P)) +\forall A,B: Set. \forall P: A \to Prop. + \forall l: list \subst [ A \Assign (prod A B) ]. + \forall H:(AllS_assoc \subst [ A \Assign A ; B \Assign B] P l). + l = l \wedge P = P + (* Intros; Elim H: ?1: (A,B:Set; P:(A->Prop); l:(list A*B))