Step
*
2
of Lemma
split_tail_lemma
1. A : Type
2. f : A ⟶ 𝔹
3. L : A List
4. a : A
5. (a ∈ L)
6. ↑f[a]
7. ∀b:A. (a before b ∈ L 
⇒ (↑f[b]))
8. L = ((fst(split_tail(L | ∀x.f[x]))) @ (snd(split_tail(L | ∀x.f[x])))) ∈ (A List)
9. (a ∈ snd(split_tail(L | ∀x.f[x])))
10. b : A
11. (b ∈ snd(split_tail(L | ∀x.f[x])))
⊢ ↑f[b]
BY
{ (InstLemma `split_tail_correct` [A;f;L] THEN Auto) }
1
1. A : Type
2. f : A ⟶ 𝔹
3. L : A List
4. a : A
5. (a ∈ L)
6. ↑f[a]
7. ∀b:A. (a before b ∈ L 
⇒ (↑f[b]))
8. L = ((fst(split_tail(L | ∀x.f[x]))) @ (snd(split_tail(L | ∀x.f[x])))) ∈ (A List)
9. (a ∈ snd(split_tail(L | ∀x.f[x])))
10. b : A
11. (b ∈ snd(split_tail(L | ∀x.f[x])))
12. (∀b∈snd(split_tail(L | ∀x.f[x])).↑f[b])
⊢ ↑f[b]
Latex:
Latex:
1.  A  :  Type
2.  f  :  A  {}\mrightarrow{}  \mBbbB{}
3.  L  :  A  List
4.  a  :  A
5.  (a  \mmember{}  L)
6.  \muparrow{}f[a]
7.  \mforall{}b:A.  (a  before  b  \mmember{}  L  {}\mRightarrow{}  (\muparrow{}f[b]))
8.  L  =  ((fst(split\_tail(L  |  \mforall{}x.f[x])))  @  (snd(split\_tail(L  |  \mforall{}x.f[x]))))
9.  (a  \mmember{}  snd(split\_tail(L  |  \mforall{}x.f[x])))
10.  b  :  A
11.  (b  \mmember{}  snd(split\_tail(L  |  \mforall{}x.f[x])))
\mvdash{}  \muparrow{}f[b]
By
Latex:
(InstLemma  `split\_tail\_correct`  [A;f;L]  THEN  Auto)
Home
Index