Step
*
1
4
of Lemma
combine-list-permutation
1. A : Type
2. f : A ⟶ A ⟶ A
3. Assoc(A;λx,y. f[x;y])
4. Comm(A;λx,y. f[x;y])
5. as : A List
6. bs : A 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 D -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