Step
*
1
of Lemma
list_accum_proper_iseg_inv
1. [T] : Type
2. [A] : Type
3. f : A ⟶ T ⟶ A
4. [R] : A ⟶ A ⟶ ℙ
5. Trans(A;a,b.R[a;b])
6. ∀a:A. ∀x:T.  R[a;f[a;x]]
7. u : T
8. v : T List
9. a : A
⊢ R[a;accumulate (with value a and list item x):
       f[a;x]
      over list:
        v
      with starting value:
       f[a;u])]
BY
{ ((Assert ⌜R[a;f[a;u]]⌝⋅ THEN Auto)
   THEN MoveToConcl (-1)
   THEN GenConclAtAddr [1;3]
   THEN Thin (-1)
   THEN RepeatFor 2 (MoveToConcl (-1))) }
1
1. [T] : Type
2. [A] : Type
3. f : A ⟶ T ⟶ A
4. [R] : A ⟶ A ⟶ ℙ
5. Trans(A;a,b.R[a;b])
6. ∀a:A. ∀x:T.  R[a;f[a;x]]
7. u : T
8. v : T List
⊢ ∀a,v1:A.  (R[a;v1] 
⇒ R[a;accumulate (with value a and list item x): f[a;x]over list:  vwith starting value: v1)])
Latex:
Latex:
1.  [T]  :  Type
2.  [A]  :  Type
3.  f  :  A  {}\mrightarrow{}  T  {}\mrightarrow{}  A
4.  [R]  :  A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbP{}
5.  Trans(A;a,b.R[a;b])
6.  \mforall{}a:A.  \mforall{}x:T.    R[a;f[a;x]]
7.  u  :  T
8.  v  :  T  List
9.  a  :  A
\mvdash{}  R[a;accumulate  (with  value  a  and  list  item  x):
              f[a;x]
            over  list:
                v
            with  starting  value:
              f[a;u])]
By
Latex:
((Assert  \mkleeneopen{}R[a;f[a;u]]\mkleeneclose{}\mcdot{}  THEN  Auto)
  THEN  MoveToConcl  (-1)
  THEN  GenConclAtAddr  [1;3]
  THEN  Thin  (-1)
  THEN  RepeatFor  2  (MoveToConcl  (-1)))
Home
Index