Step * 1 2 of Lemma longer-list-not-member


1. Type
2. eq : ∀x,y:T.  Dec(x y ∈ T)@i
3. T@i
4. List@i
5. ∀L1:T List. (no_repeats(T;L1)  no_repeats(T;v)  (||v|| > ||L1||)  (∃x:T. ((x ∈ v) ∧ (x ∈ L1)))))@i
6. L1 List@i
7. no_repeats(T;L1)@i
8. no_repeats(T;[u v])@i
9. ||v|| ||L1|| ∈ ℤ
10. (u ∈ L1)
⊢ ||remove-first(λt.isl(eq u);L1)|| < ||v||
BY
((InstLemma `length-remove-first` [⌈T⌉;⌈L1⌉;⌈λt.isl(eq u)⌉]⋅
    THENA (Auto
           THEN (InstLemma `isl_wf` [⌈u ∈ T⌉;⌈¬(t u ∈ T)⌉]⋅ THENA Auto)
           THEN BHyp (-1)
           THEN Auto
           THEN Unfold `decidable` 2
           THEN Auto)
    )
   THEN (RepeatFor (D (-1)) THEN Reduce (-2) THEN Auto')
   THEN skip{(Try (Complete ((RepUR ``l_exists`` (-1) THEN ExRepD THEN Auto)))
              THEN Unfold `l_all` (-1)
              THEN (-1)
              THEN InstHyp [⌈u⌉(-2)⋅
              THEN Auto
              THEN Reduce (-1)
              THEN Unfold `isl` (-1)
              THEN Try (Fold `dec2bool` (-1)⋅)
              THEN RWO "dec2bool_decidable" (-1)
              THEN Auto
              THEN Try (Complete ((Assert ⌈False⌉⋅ THEN Auto)))
              THEN Unfold `decision` 0
              THEN Unfold `decidable` 2
              THEN Auto)}) }

1
1. Type
2. eq : ∀x,y:T.  Dec(x y ∈ T)@i
3. T@i
4. List@i
5. ∀L1:T List. (no_repeats(T;L1)  no_repeats(T;v)  (||v|| > ||L1||)  (∃x:T. ((x ∈ v) ∧ (x ∈ L1)))))@i
6. L1 List@i
7. no_repeats(T;L1)@i
8. no_repeats(T;[u v])@i
9. ||v|| ||L1|| ∈ ℤ
10. (u ∈ L1)
11. (∀x∈L1.¬↑isl(eq u))
12. remove-first(λt.isl(eq u);L1) L1
⊢ ||remove-first(λt.isl(eq u);L1)|| < ||v||


Latex:



Latex:

1.  T  :  Type
2.  eq  :  \mforall{}x,y:T.    Dec(x  =  y)@i
3.  u  :  T@i
4.  v  :  T  List@i
5.  \mforall{}L1:T  List
          (no\_repeats(T;L1)  {}\mRightarrow{}  no\_repeats(T;v)  {}\mRightarrow{}  (||v||  >  ||L1||)  {}\mRightarrow{}  (\mexists{}x:T.  ((x  \mmember{}  v)  \mwedge{}  (\mneg{}(x  \mmember{}  L1)))))@i
6.  L1  :  T  List@i
7.  no\_repeats(T;L1)@i
8.  no\_repeats(T;[u  /  v])@i
9.  ||v||  =  ||L1||
10.  (u  \mmember{}  L1)
\mvdash{}  ||remove-first(\mlambda{}t.isl(eq  t  u);L1)||  <  ||v||


By


Latex:
((InstLemma  `length-remove-first`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}L1\mkleeneclose{};\mkleeneopen{}\mlambda{}t.isl(eq  t  u)\mkleeneclose{}]\mcdot{}
    THENA  (Auto
                  THEN  (InstLemma  `isl\_wf`  [\mkleeneopen{}t  =  u\mkleeneclose{};\mkleeneopen{}\mneg{}(t  =  u)\mkleeneclose{}]\mcdot{}  THENA  Auto)
                  THEN  BHyp  (-1)
                  THEN  Auto
                  THEN  Unfold  `decidable`  2
                  THEN  Auto)
    )
  THEN  (RepeatFor  2  (D  (-1))  THEN  Reduce  (-2)  THEN  Auto')
  THEN  skip\{(Try  (Complete  ((RepUR  ``l\_exists``  (-1)  THEN  ExRepD  THEN  Auto)))
                        THEN  Unfold  `l\_all`  (-1)
                        THEN  D  (-1)
                        THEN  InstHyp  [\mkleeneopen{}u\mkleeneclose{}]  (-2)\mcdot{}
                        THEN  Auto
                        THEN  Reduce  (-1)
                        THEN  Unfold  `isl`  (-1)
                        THEN  Try  (Fold  `dec2bool`  (-1)\mcdot{})
                        THEN  RWO  "dec2bool\_decidable"  (-1)
                        THEN  Auto
                        THEN  Try  (Complete  ((Assert  \mkleeneopen{}False\mkleeneclose{}\mcdot{}  THEN  Auto)))
                        THEN  Unfold  `decision`  0
                        THEN  Unfold  `decidable`  2
                        THEN  Auto)\})




Home Index