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