Step * 1 1 1 of Lemma combine-list-as-reduce


1. Type
2. A ⟶ A ⟶ A
3. Assoc(A;λx,y. f[x;y])
4. Comm(A;λx,y. f[x;y])
5. List
6. ∀L:A List. (0 < ||L||  (isl(reduce(λx,y. case of inl(z) => inl f[x;z] inr(z) => inl x;inr ⋅ ;L)) tt))
7. A@i
⊢ combine-list(x,y.f[x;y];L [n]) outl(reduce(λx,y. case of inl(z) => inl f[x;z] inr(z) => inl x;inr ⋅ ;L [n]))\000C ∈ A
BY
TACTIC:(Assert outl(reduce(λx,y. case of inl(z) => inl f[x;z] inr(z) => inl x;inr ⋅ ;L [n])) ∈ BY
                (InstHyp [⌜[n]⌝(-2)⋅ THEN Auto' THEN (RWO "-1" THEN Auto)⋅)) }

1
1. Type
2. A ⟶ A ⟶ A
3. Assoc(A;λx,y. f[x;y])
4. Comm(A;λx,y. f[x;y])
5. List
6. ∀L:A List. (0 < ||L||  (isl(reduce(λx,y. case of inl(z) => inl f[x;z] inr(z) => inl x;inr ⋅ ;L)) tt))
7. A@i
8. outl(reduce(λx,y. case of inl(z) => inl f[x;z] inr(z) => inl x;inr ⋅ ;L [n])) ∈ A
⊢ combine-list(x,y.f[x;y];L [n]) outl(reduce(λx,y. case of inl(z) => inl f[x;z] inr(z) => inl x;inr ⋅ ;L [n]))\000C ∈ A


Latex:


Latex:

1.  A  :  Type
2.  f  :  A  {}\mrightarrow{}  A  {}\mrightarrow{}  A
3.  Assoc(A;\mlambda{}x,y.  f[x;y])
4.  Comm(A;\mlambda{}x,y.  f[x;y])
5.  L  :  A  List
6.  \mforall{}L:A  List
          (0  <  ||L||  {}\mRightarrow{}  (isl(reduce(\mlambda{}x,y.  case  y  of  inl(z)  =>  inl  f[x;z]  |  inr(z)  =>  inl  x;inr  \mcdot{}  ;L))  \msim{}  t\000Ct))
7.  n  :  A@i
\mvdash{}  combine-list(x,y.f[x;y];L  @  [n])
=  outl(reduce(\mlambda{}x,y.  case  y  of  inl(z)  =>  inl  f[x;z]  |  inr(z)  =>  inl  x;inr  \mcdot{}  ;L  @  [n]))


By


Latex:
TACTIC:(Assert  outl(reduce(\mlambda{}x,y.  case  y  of  inl(z)  =>  inl  f[x;z]  |  inr(z)  =>  inl  x;inr  \mcdot{}  ;L  @  [n]))
                              \mmember{}  A  BY
                            (InstHyp  [\mkleeneopen{}L  @  [n]\mkleeneclose{}]  (-2)\mcdot{}  THEN  Auto'  THEN  (RWO  "-1"  0  THEN  Auto)\mcdot{}))




Home Index