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