Step * 2 of Lemma longest-prefix_property'


1. [T] Type
⊢ ∀P:T List+ ⟶ 𝔹
    (longest-prefix(P;[]) ≤ []
    ∧ longest-prefix(P;[]) < [] supposing 0 < ||[]||
    ∧ (((longest-prefix(P;[]) [] ∈ (T List)) ∧ (∀L':T List. ([] < L'  L' < []  (¬↑(P L')))))
      ∨ (0 < ||longest-prefix(P;[])||
        ∧ (↑(P longest-prefix(P;[])))
        ∧ (∀L':T List. (longest-prefix(P;[]) < L'  L' < []  (¬↑(P L')))))))
BY
xxx(RecUnfold `longest-prefix` 0
      THEN Reduce 0
      THEN Auto
      THEN OrLeft
      THEN Auto
      THEN (InstLemma `proper-iseg-length` [⌜T⌝;⌜L'⌝;⌜[]⌝]⋅ THEN Auto')
      THEN ThinTrivial
      THEN Auto')xxx }


Latex:


Latex:

1.  [T]  :  Type
\mvdash{}  \mforall{}P:T  List\msupplus{}  {}\mrightarrow{}  \mBbbB{}
        (longest-prefix(P;[])  \mleq{}  []
        \mwedge{}  longest-prefix(P;[])  <  []  supposing  0  <  ||[]||
        \mwedge{}  (((longest-prefix(P;[])  =  [])  \mwedge{}  (\mforall{}L':T  List.  ([]  <  L'  {}\mRightarrow{}  L'  <  []  {}\mRightarrow{}  (\mneg{}\muparrow{}(P  L')))))
            \mvee{}  (0  <  ||longest-prefix(P;[])||
                \mwedge{}  (\muparrow{}(P  longest-prefix(P;[])))
                \mwedge{}  (\mforall{}L':T  List.  (longest-prefix(P;[])  <  L'  {}\mRightarrow{}  L'  <  []  {}\mRightarrow{}  (\mneg{}\muparrow{}(P  L')))))))


By


Latex:
xxx(RecUnfold  `longest-prefix`  0
        THEN  Reduce  0
        THEN  Auto
        THEN  OrLeft
        THEN  Auto
        THEN  (InstLemma  `proper-iseg-length`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}L'\mkleeneclose{};\mkleeneopen{}[]\mkleeneclose{}]\mcdot{}  THEN  Auto')
        THEN  ThinTrivial
        THEN  Auto')xxx




Home Index