Step * of Lemma longest-prefix-decomp

[T:Type]. ∀[L:T List]. ∀[P:(T List) ⟶ 𝔹].  (L longest-prefix(P;L) nth_tl(||longest-prefix(P;L)||;L))
BY
(InductionOnList
   THEN RecUnfold `longest-prefix` 0
   THEN (Reduce THEN Try (Complete ((Reduce THEN Auto))))
   THEN (D THENA Auto)
   THEN Try (Complete (Auto))
   THEN RepUR ``let`` 0
   THEN (InstHyp [⌜λL'.(P [u L'])⌝(-2)⋅ THENA Auto)
   THEN AutoSplit
   THEN Try (RepeatFor (AutoSplit))
   THEN EqCD
   THEN Try (Trivial)
   THEN NthHypSq (-1)
   THEN RepeatFor (EqCD)
   THEN Try (Trivial)) }

1
1. Type
2. T
3. List
4. ∀[P:(T List) ⟶ 𝔹]. (v longest-prefix(P;v) nth_tl(||longest-prefix(P;v)||;v))
5. (T List) ⟶ 𝔹
6. ¬(longest-prefix(λL'.(P [u L']);v) [] ∈ (T List))
7. longest-prefix(λL'.(P [u L']);v) nth_tl(||longest-prefix(λL'.(P [u L']);v)||;v)
⊢ nth_tl(||longest-prefix(λL'.(P [u L']);v)|| 1;[u v]) nth_tl(||longest-prefix(λL'.(P [u L']);v)||;v)


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[L:T  List].  \mforall{}[P:(T  List)  {}\mrightarrow{}  \mBbbB{}].
    (L  \msim{}  longest-prefix(P;L)  @  nth\_tl(||longest-prefix(P;L)||;L))


By


Latex:
(InductionOnList
  THEN  RecUnfold  `longest-prefix`  0
  THEN  (Reduce  0  THEN  Try  (Complete  ((Reduce  0  THEN  Auto))))
  THEN  (D  0  THENA  Auto)
  THEN  Try  (Complete  (Auto))
  THEN  RepUR  ``let``  0
  THEN  (InstHyp  [\mkleeneopen{}\mlambda{}L'.(P  [u  /  L'])\mkleeneclose{}]  (-2)\mcdot{}  THENA  Auto)
  THEN  AutoSplit
  THEN  Try  (RepeatFor  2  (AutoSplit))
  THEN  EqCD
  THEN  Try  (Trivial)
  THEN  NthHypSq  (-1)
  THEN  RepeatFor  2  (EqCD)
  THEN  Try  (Trivial))




Home Index