Step
*
3
2
of Lemma
longest-prefix_property'
1. [T] : Type
2. L : T
3. L1 : T List
4. P : T List+ ⟶ 𝔹
5. u : T
6. v : T List
⊢ ([u / v] ≤ L1
∧ [u / v] < L1 supposing 0 < ||L1||
∧ ((([u / v] = [] ∈ (T List)) ∧ (∀L':T List. ([] < L' 
⇒ L' < L1 
⇒ (¬↑(P [L / L'])))))
  ∨ (0 < ||v|| + 1 ∧ (↑(P [L; [u / v]])) ∧ (∀L':T List. ([u / v] < L' 
⇒ L' < L1 
⇒ (¬↑(P [L / L'])))))))
⇒ ([L; [u / v]] ≤ [L / L1]
   ∧ [L; [u / v]] < [L / L1] supposing 0 < ||L1|| + 1
   ∧ ((([L; [u / v]] = [] ∈ (T List)) ∧ (∀L':T List. ([] < L' 
⇒ L' < [L / L1] 
⇒ (¬↑(P L')))))
     ∨ (0 < (||v|| + 1) + 1 ∧ (↑(P [L; [u / v]])) ∧ (∀L':T List. ([L; [u / v]] < L' 
⇒ L' < [L / L1] 
⇒ (¬↑(P L')))))))
BY
{ Auto }
1
1. [T] : Type
2. L : T
3. L1 : T List
4. P : T List+ ⟶ 𝔹
5. u : T
6. v : T List
7. [u / v] ≤ L1
8. [u / v] < L1 supposing 0 < ||L1||
9. (([u / v] = [] ∈ (T List)) ∧ (∀L':T List. ([] < L' 
⇒ L' < L1 
⇒ (¬↑(P [L / L'])))))
∨ (0 < ||v|| + 1 ∧ (↑(P [L; [u / v]])) ∧ (∀L':T List. ([u / v] < L' 
⇒ L' < L1 
⇒ (¬↑(P [L / L'])))))
⊢ [L; [u / v]] ≤ [L / L1]
2
1. [T] : Type
2. L : T
3. L1 : T List
4. P : T List+ ⟶ 𝔹
5. u : T
6. v : T List
7. [u / v] ≤ L1
8. [u / v] < L1 supposing 0 < ||L1||
9. (([u / v] = [] ∈ (T List)) ∧ (∀L':T List. ([] < L' 
⇒ L' < L1 
⇒ (¬↑(P [L / L'])))))
∨ (0 < ||v|| + 1 ∧ (↑(P [L; [u / v]])) ∧ (∀L':T List. ([u / v] < L' 
⇒ L' < L1 
⇒ (¬↑(P [L / L'])))))
10. [L; [u / v]] ≤ [L / L1]
11. 0 < ||L1|| + 1
⊢ [L; [u / v]] < [L / L1]
3
1. [T] : Type
2. L : T
3. L1 : T List
4. P : T List+ ⟶ 𝔹
5. u : T
6. v : T List
7. [u / v] ≤ L1
8. [u / v] < L1 supposing 0 < ||L1||
9. (([u / v] = [] ∈ (T List)) ∧ (∀L':T List. ([] < L' 
⇒ L' < L1 
⇒ (¬↑(P [L / L'])))))
∨ (0 < ||v|| + 1 ∧ (↑(P [L; [u / v]])) ∧ (∀L':T List. ([u / v] < L' 
⇒ L' < L1 
⇒ (¬↑(P [L / L'])))))
10. [L; [u / v]] ≤ [L / L1]
11. [L; [u / v]] < [L / L1] supposing 0 < ||L1|| + 1
⊢ (([L; [u / v]] = [] ∈ (T List)) ∧ (∀L':T List. ([] < L' 
⇒ L' < [L / L1] 
⇒ (¬↑(P L')))))
∨ (0 < (||v|| + 1) + 1 ∧ (↑(P [L; [u / v]])) ∧ (∀L':T List. ([L; [u / v]] < L' 
⇒ L' < [L / L1] 
⇒ (¬↑(P L')))))
Latex:
Latex:
1.  [T]  :  Type
2.  L  :  T
3.  L1  :  T  List
4.  P  :  T  List\msupplus{}  {}\mrightarrow{}  \mBbbB{}
5.  u  :  T
6.  v  :  T  List
\mvdash{}  ([u  /  v]  \mleq{}  L1
\mwedge{}  [u  /  v]  <  L1  supposing  0  <  ||L1||
\mwedge{}  ((([u  /  v]  =  [])  \mwedge{}  (\mforall{}L':T  List.  ([]  <  L'  {}\mRightarrow{}  L'  <  L1  {}\mRightarrow{}  (\mneg{}\muparrow{}(P  [L  /  L'])))))
    \mvee{}  (0  <  ||v||  +  1
        \mwedge{}  (\muparrow{}(P  [L;  [u  /  v]]))
        \mwedge{}  (\mforall{}L':T  List.  ([u  /  v]  <  L'  {}\mRightarrow{}  L'  <  L1  {}\mRightarrow{}  (\mneg{}\muparrow{}(P  [L  /  L'])))))))
{}\mRightarrow{}  ([L;  [u  /  v]]  \mleq{}  [L  /  L1]
      \mwedge{}  [L;  [u  /  v]]  <  [L  /  L1]  supposing  0  <  ||L1||  +  1
      \mwedge{}  ((([L;  [u  /  v]]  =  [])  \mwedge{}  (\mforall{}L':T  List.  ([]  <  L'  {}\mRightarrow{}  L'  <  [L  /  L1]  {}\mRightarrow{}  (\mneg{}\muparrow{}(P  L')))))
          \mvee{}  (0  <  (||v||  +  1)  +  1
              \mwedge{}  (\muparrow{}(P  [L;  [u  /  v]]))
              \mwedge{}  (\mforall{}L':T  List.  ([L;  [u  /  v]]  <  L'  {}\mRightarrow{}  L'  <  [L  /  L1]  {}\mRightarrow{}  (\mneg{}\muparrow{}(P  L')))))))
By
Latex:
Auto
Home
Index