Step * 1 4 of Lemma combine-list-permutation


1. Type
2. A ⟶ A ⟶ A
3. Assoc(A;λx,y. f[x;y])
4. Comm(A;λx,y. f[x;y])
5. as List
6. bs List
7. 0 < ||as||
8. permutation(A;as;bs)
9. ∀as@0,bs:A List.
     (permutation(A;as@0;bs)
      (permutation(A;as;as@0)  (combine-list(x,y.f[x;y];as) combine-list(x,y.f[x;y];as@0) ∈ A)
        ⇐⇒ permutation(A;as;bs)  (combine-list(x,y.f[x;y];as) combine-list(x,y.f[x;y];bs) ∈ A)))
⊢ combine-list(x,y.f[x;y];as) combine-list(x,y.f[x;y];bs) ∈ A
BY
(InstHyp [⌜as⌝;⌜bs⌝(-1)⋅ THEN Auto THEN (D -2 THENA Auto) THEN -1 THEN Auto) }


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.  as  :  A  List
6.  bs  :  A  List
7.  0  <  ||as||
8.  permutation(A;as;bs)
9.  \mforall{}as@0,bs:A  List.
          (permutation(A;as@0;bs)
          {}\mRightarrow{}  (permutation(A;as;as@0)  {}\mRightarrow{}  (combine-list(x,y.f[x;y];as)  =  combine-list(x,y.f[x;y];as@0))
                \mLeftarrow{}{}\mRightarrow{}  permutation(A;as;bs)  {}\mRightarrow{}  (combine-list(x,y.f[x;y];as)  =  combine-list(x,y.f[x;y];bs))))
\mvdash{}  combine-list(x,y.f[x;y];as)  =  combine-list(x,y.f[x;y];bs)


By


Latex:
(InstHyp  [\mkleeneopen{}as\mkleeneclose{};\mkleeneopen{}bs\mkleeneclose{}]  (-1)\mcdot{}  THEN  Auto  THEN  (D  -2  THENA  Auto)  THEN  D  -1  THEN  Auto)




Home Index