Step
*
1
3
1
1
1
of Lemma
longer-list-not-member
1. T : Type
2. eq : ∀x,y:T.  Dec(x = y ∈ T)@i
3. u : T@i
4. v : T List@i
5. ∀L1:T List. (no_repeats(T;L1) 
⇒ no_repeats(T;v) 
⇒ (||v|| > ||L1||) 
⇒ (∃x:T. ((x ∈ v) ∧ (¬(x ∈ L1)))))@i
6. x : T
7. ¬(x = u ∈ T)
8. u1 : T@i
9. v1 : T List@i
10. (x ∈ v1) 
⇒ (x ∈ remove-first(λt.isl(eq t u);v1))@i
11. (x ∈ [u1 / v1])@i
⊢ (x ∈ remove-first(λt.isl(eq t u);[u1 / v1]))
BY
{ (RWO "remove-first-cons" 0
   THENA (Auto
          THEN (InstLemma `isl_wf` [⌜t = u ∈ T⌝;⌜¬(t = u ∈ T)⌝]⋅ THENA Auto)
          THEN BHyp (-1)
          THEN Auto
          THEN Unfold `decidable` 2
          THEN Auto)
   ) }
1
1. T : Type
2. eq : ∀x,y:T.  Dec(x = y ∈ T)@i
3. u : T@i
4. v : T List@i
5. ∀L1:T List. (no_repeats(T;L1) 
⇒ no_repeats(T;v) 
⇒ (||v|| > ||L1||) 
⇒ (∃x:T. ((x ∈ v) ∧ (¬(x ∈ L1)))))@i
6. x : T
7. ¬(x = u ∈ T)
8. u1 : T@i
9. v1 : T List@i
10. (x ∈ v1) 
⇒ (x ∈ remove-first(λt.isl(eq t u);v1))@i
11. (x ∈ [u1 / v1])@i
⊢ (x ∈ if (λt.isl(eq t u)) u1 then v1 else [u1 / remove-first(λt.isl(eq t u);v1)] fi )
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.  x  :  T
7.  \mneg{}(x  =  u)
8.  u1  :  T@i
9.  v1  :  T  List@i
10.  (x  \mmember{}  v1)  {}\mRightarrow{}  (x  \mmember{}  remove-first(\mlambda{}t.isl(eq  t  u);v1))@i
11.  (x  \mmember{}  [u1  /  v1])@i
\mvdash{}  (x  \mmember{}  remove-first(\mlambda{}t.isl(eq  t  u);[u1  /  v1]))
By
Latex:
(RWO  "remove-first-cons"  0
  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)
  )
Home
Index