Step * 1 of Lemma lg-append_assoc


1. Type
2. LabeledGraph(T)
3. LabeledGraph(T)
4. LabeledGraph(T)
5. (T × ℤ List × (ℤ List)) List@i
6. L ∈ ((T × ℤ List × (ℤ List)) List)@i
⊢ map(λx.let lbl,in,out let lbl,in,out in 
         <lbl, map(λx.(x lg-size(b));in), map(λx.(x lg-size(b));out)> in 
         <lbl, map(λx.(x lg-size(a));in), map(λx.(x lg-size(a));out)>;L) 
map(λtr.let lbl,in,out tr in 
          <lbl
          map(λx.(x
                   lg-size(a
                     map(λtr.let lbl,in,out tr in 
                               <lbl, map(λx.(x lg-size(a));in), map(λx.(x lg-size(a));out)>;b)));in)
          map(λx.(x
                   lg-size(a
                     map(λtr.let lbl,in,out tr in 
                               <lbl, map(λx.(x lg-size(a));in), map(λx.(x lg-size(a));out)>;b)));out)>;L)
BY
(Thin (-1)
   THEN ListInd (-1)
   THEN Reduce 0
   THEN EqCD
   THEN Try (Trivial)
   THEN DVar `u'
   THEN DVar `u2'
   THEN Reduce 0
   THEN RepeatFor (EqCD)
   THEN All Thin
   THEN ListInd (-1)
   THEN Reduce 0
   THEN EqCD
   THEN Try (Trivial)
   THEN Unfold `lg-size` 0
   THEN RWW "length-append length-map-sq" 0
   THEN Auto
   THEN Using [`A',⌈Top⌉Auto⋅
   THEN (RepeatFor (DVar `a') THEN Trivial)⋅)⋅ }


Latex:



Latex:

1.  T  :  Type
2.  a  :  LabeledGraph(T)
3.  b  :  LabeledGraph(T)
4.  c  :  LabeledGraph(T)
5.  L  :  (T  \mtimes{}  \mBbbZ{}  List  \mtimes{}  (\mBbbZ{}  List))  List@i
6.  c  =  L@i
\mvdash{}  map(\mlambda{}x.let  lbl,in,out  =  let  lbl,in,out  =  x  in 
                  <lbl,  map(\mlambda{}x.(x  +  lg-size(b));in),  map(\mlambda{}x.(x  +  lg-size(b));out)>  in 
                  <lbl,  map(\mlambda{}x.(x  +  lg-size(a));in),  map(\mlambda{}x.(x  +  lg-size(a));out)>L) 
\msim{}  map(\mlambda{}tr.let  lbl,in,out  =  tr  in 
                    <lbl
                    ,  map(\mlambda{}x.(x
                                      +  lg-size(a
                                          @  map(\mlambda{}tr.let  lbl,in,out  =  tr  in 
                                                              <lbl,  map(\mlambda{}x.(x  +  lg-size(a));in),  map(\mlambda{}x.(x  +  lg-size(a));out)>
                                                      b)));in)
                    ,  map(\mlambda{}x.(x
                                      +  lg-size(a
                                          @  map(\mlambda{}tr.let  lbl,in,out  =  tr  in 
                                                              <lbl,  map(\mlambda{}x.(x  +  lg-size(a));in),  map(\mlambda{}x.(x  +  lg-size(a));out)>
                                                      b)));out)>L)


By


Latex:
(Thin  (-1)
  THEN  ListInd  (-1)
  THEN  Reduce  0
  THEN  EqCD
  THEN  Try  (Trivial)
  THEN  DVar  `u'
  THEN  DVar  `u2'
  THEN  Reduce  0
  THEN  RepeatFor  2  (EqCD)
  THEN  All  Thin
  THEN  ListInd  (-1)
  THEN  Reduce  0
  THEN  EqCD
  THEN  Try  (Trivial)
  THEN  Unfold  `lg-size`  0
  THEN  RWW  "length-append  length-map-sq"  0
  THEN  Auto
  THEN  Using  [`A',\mkleeneopen{}Top\mkleeneclose{}]  Auto\mcdot{}
  THEN  (RepeatFor  2  (DVar  `a')  THEN  Trivial)\mcdot{})\mcdot{}




Home Index