From ef07f57f5fb5bc34897fdef44987e6a154206807 Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Fri, 20 May 2022 22:43:51 +0200 Subject: [PATCH] update in ground + additions to lifts --- .../contribs/lambdadelta/ground/lib/list.ma | 9 +++++ .../lambdadelta/ground/lib/list_append.ma | 9 +++++ .../lambdadelta/ground/lib/list_rcons.ma | 6 ++++ .../lambdadelta/ground/lib/list_tl.ma | 36 +++++++++++++++++++ 4 files changed, 60 insertions(+) create mode 100644 matita/matita/contribs/lambdadelta/ground/lib/list_tl.ma diff --git a/matita/matita/contribs/lambdadelta/ground/lib/list.ma b/matita/matita/contribs/lambdadelta/ground/lib/list.ma index 6dc752d65..a486fd39a 100644 --- a/matita/matita/contribs/lambdadelta/ground/lib/list.ma +++ b/matita/matita/contribs/lambdadelta/ground/lib/list.ma @@ -35,3 +35,12 @@ rec definition list_all A (R:predicate A) (l:list A) on l ≝ match l with [ list_empty ⇒ ⊤ | list_lcons hd tl ⇒ ∧∧ R hd & list_all A R tl ]. + +(* Basic inversions *********************************************************) + +lemma eq_inv_list_lcons_bi (A) (a1) (a2) (l1) (l2): + a1⨮l1 = a2⨮{A}l2 → + ∧∧ a1 = a2 & l1 = l2. +#A #a1 #a2 #l1 #l2 #H0 destruct +/2 width=1 by conj/ +qed-. diff --git a/matita/matita/contribs/lambdadelta/ground/lib/list_append.ma b/matita/matita/contribs/lambdadelta/ground/lib/list_append.ma index 042497aac..e4c3d743e 100644 --- a/matita/matita/contribs/lambdadelta/ground/lib/list_append.ma +++ b/matita/matita/contribs/lambdadelta/ground/lib/list_append.ma @@ -68,6 +68,15 @@ lemma eq_inv_list_empty_append (A): ] qed-. +lemma eq_inv_list_append_empty (A): + ∀l1,l2. l1⨁{A}l2 = ⓔ → + ∧∧ l1 = ⓔ & l2 = ⓔ. +#A * +[ #l2 /2 width=1 by conj/ +| #a1 #l1 #l2