Step * of Lemma list-index-property

[T:Type]. ∀[eq:EqDecider(T)]. ∀[x:T]. ∀[L:T List].  L[outl(list-index(eq;L;x))] x ∈ supposing (x ∈ L)
BY
(Auto
   THEN (InstLemma `isl-list-index` [⌜T⌝;⌜eq⌝;⌜x⌝;⌜L⌝]⋅ THENA Auto)
   THEN ThinTrivial
   THEN Lemmaize [-1]
   THEN InductionOnList
   THEN Unfold `list-index` 0
   THEN Reduce 0
   THEN Try (((D THENM Trivial) THEN Auto))
   THEN Fold `list-index` 0
   THEN MoveToConcl (-1)
   THEN GenConclAtAddr [1;1;1;1]
   THEN -2
   THEN Reduce 0) }

1
1. Type
2. eq EqDecider(T)
3. T
4. T
5. List
6. x1 : ℕ||v||
7. list-index(eq;v;x) (inl x1) ∈ (ℕ||v|| Top)
⊢ (True  (v[x1] x ∈ T))  True  ([u v][x1 1] x ∈ T)

2
1. Type
2. eq EqDecider(T)
3. T
4. T
5. List
6. Top
7. list-index(eq;v;x) (inr ) ∈ (ℕ||v|| Top)
⊢ (False  (v[⊥x ∈ T))
 (↑isl(if eqof(eq) then inl else inr y  fi ))
 ([u v][outl(if eqof(eq) then inl else inr y  fi )] x ∈ T)


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[x:T].  \mforall{}[L:T  List].
    L[outl(list-index(eq;L;x))]  =  x  supposing  (x  \mmember{}  L)


By


Latex:
(Auto
  THEN  (InstLemma  `isl-list-index`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  ThinTrivial
  THEN  Lemmaize  [-1]
  THEN  InductionOnList
  THEN  Unfold  `list-index`  0
  THEN  Reduce  0
  THEN  Try  (((D  0  THENM  Trivial)  THEN  Auto))
  THEN  Fold  `list-index`  0
  THEN  MoveToConcl  (-1)
  THEN  GenConclAtAddr  [1;1;1;1]
  THEN  D  -2
  THEN  Reduce  0)




Home Index