X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambda_delta%2FGround_2%2Flist.ma;fp=matita%2Fmatita%2Fcontribs%2Flambda_delta%2FGround_2%2Flist.ma;h=0000000000000000000000000000000000000000;hb=eb918fc784eacd2094e3986ba321ef47690d9983;hp=0a6e69bbee01308d429c242af9e17469b855b3c5;hpb=011cf6478141e69822a5b40933f2444d0522532f;p=helm.git diff --git a/matita/matita/contribs/lambda_delta/Ground_2/list.ma b/matita/matita/contribs/lambda_delta/Ground_2/list.ma deleted file mode 100644 index 0a6e69bbe..000000000 --- a/matita/matita/contribs/lambda_delta/Ground_2/list.ma +++ /dev/null @@ -1,55 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -include "Ground_2/arith.ma". - -(* LISTS ********************************************************************) - -inductive list (A:Type[0]) : Type[0] := - | nil : list A - | cons: A → list A → list A. - -interpretation "nil (list)" 'Nil = (nil ?). - -interpretation "cons (list)" 'Cons hd tl = (cons ? hd tl). - -let rec all A (R:predicate A) (l:list A) on l ≝ - match l with - [ nil ⇒ True - | cons hd tl ⇒ R hd ∧ all A R tl - ]. - -inductive list2 (A1,A2:Type[0]) : Type[0] := - | nil2 : list2 A1 A2 - | cons2: A1 → A2 → list2 A1 A2 → list2 A1 A2. - -interpretation "nil (list of pairs)" 'Nil2 = (nil2 ? ?). - -interpretation "cons (list of pairs)" 'Cons hd1 hd2 tl = (cons2 ? ? hd1 hd2 tl). - -let rec append2 (A1,A2:Type[0]) (l1,l2:list2 A1 A2) on l1 ≝ match l1 with -[ nil2 ⇒ l2 -| cons2 a1 a2 tl ⇒ {a1, a2} :: append2 A1 A2 tl l2 -]. - -interpretation "append (list of pairs)" - 'Append l1 l2 = (append2 ? ? l1 l2). - -let rec length2 (A1,A2:Type[0]) (l:list2 A1 A2) on l ≝ match l with -[ nil2 ⇒ 0 -| cons2 _ _ l ⇒ length2 A1 A2 l + 1 -]. - -interpretation "length (list of pairs)" - 'card l = (length2 ? ? l).