Step
*
of Lemma
last_index_cons
∀[T:Type]. ∀[P:T ⟶ 𝔹]. ∀[L:T List]. ∀[a:T].
  (last_index([a / L];x.P[x])
  = if 0 <z last_index(L;x.P[x]) then 1 + last_index(L;x.P[x])
    if P[a] then 1
    else 0
    fi 
  ∈ ℤ)
BY
{ (xxxAutoxxx
   THEN (InstLemma `last_index_append` [⌜T⌝;⌜[a]⌝;⌜L⌝;⌜P⌝]⋅ THENA Auto)
   THEN Reduce (-1)
   THEN NthHypEq (-1)
   THEN RepeatFor 2 ((EqCD THEN Auto))
   THEN RepUR ``last_index`` 0
   THEN Auto) }
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}[P:T  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[L:T  List].  \mforall{}[a:T].
    (last\_index([a  /  L];x.P[x])
    =  if  0  <z  last\_index(L;x.P[x])  then  1  +  last\_index(L;x.P[x])
        if  P[a]  then  1
        else  0
        fi  )
By
Latex:
(xxxAutoxxx
  THEN  (InstLemma  `last\_index\_append`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}[a]\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{};\mkleeneopen{}P\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  Reduce  (-1)
  THEN  NthHypEq  (-1)
  THEN  RepeatFor  2  ((EqCD  THEN  Auto))
  THEN  RepUR  ``last\_index``  0
  THEN  Auto)
Home
Index