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