Step * of Lemma evalall-append-sqle

a,b:Top.  (evalall(a b) ≤ eval evalall(a) in eval evalall(b) in   evalall(u v))
BY
TACTIC:((Auto THEN SqLeTopToBase)
          THEN RW (AddrC [1] (UnfoldC `append`)) 0
          THEN Unfold `list_ind` 0
          THEN OneFixpointLeast
          THEN RepeatFor (MoveToConcl 1)
          THEN NatInd 1
          THEN Reduce 0
          THEN Strictness
          THEN (UnivCD THENA Auto)
          THEN ((RWO "fun_exp_unroll_1" THENA Auto) ORELSE Auto)
          THEN (RW (AddrC [1] RecUnfoldTopAbC) THEN Reduce 0)
          THEN (RW (AddrC [2;1] RecUnfoldTopAbC) THEN Reduce 0)
          THEN RW (SubC (LiftC true)) 0
          THEN UseCbvSqle
          THEN HVimplies2 [1;1]
          THEN ((RWO "-1" THENA Complete (Auto)) ORELSE (RW (SubC (LiftC true)) THEN UseCbvSqle))) }

1
1. : ℤ
2. 0 < j
3. ∀a,b:Base.
     (evalall(λlist_ind,L. eval in
                           if is pair then let a,as' 
                                               in [a (list_ind as')] otherwise if Ax then otherwise ⊥^j 
              ⊥ 
              a) ≤ eval evalall(a) in
                   eval evalall(b) in
                     evalall(u v))
4. Base
5. Base
6. 0 ≤ 0
7. ~ <fst(a), snd(a)>
8. (evalall(fst(a)))↓
⊢ eval b' evalall(λlist_ind,L. eval in
                                 if is pair then let a,as' 
                                                     in [a (list_ind as')] otherwise if Ax then otherwise ⊥^j \000C1 
                    ⊥ 
                    (snd(a))) in
  <evalall(fst(a)), b'> ≤ eval eval b' evalall(snd(a)) in
                                   <evalall(fst(a)), b'> in
                          eval evalall(b) in
                            evalall(u v)

2
1. : ℤ
2. 0 < j
3. ∀a,b:Base.
     (evalall(λlist_ind,L. eval in
                           if is pair then let a,as' 
                                               in [a (list_ind as')] otherwise if Ax then otherwise ⊥^j 
              ⊥ 
              a) ≤ eval evalall(a) in
                   eval evalall(b) in
                     evalall(u v))
4. Base
5. Base
6. (a)↓
7. ∀a@0,b:Top.  (if is pair then a@0 otherwise b)
⊢ eval if Ax then otherwise ⊥ in
  if is pair then let a,b 
                      in eval a' evalall(a) in
                         eval b' evalall(b) in
                           <a', b'> otherwise if is inl then eval evalall(outl(v)) in
                                                               inl y
                                              else if is inr then eval evalall(outr(v)) in
                                                                    inr 
                                                   else v ≤ eval if is inl then eval evalall(outl(a)) in
                                                                                      inl y
                                                                     else if is inr then eval evalall(outr(a)) in
                                                                                           inr 
                                                                          else in
                                                            eval evalall(b) in
                                                              evalall(u v)


Latex:


Latex:
\mforall{}a,b:Top.    (evalall(a  @  b)  \mleq{}  eval  u  =  evalall(a)  in  eval  v  =  evalall(b)  in      evalall(u  @  v))


By


Latex:
TACTIC:((Auto  THEN  SqLeTopToBase)
                THEN  RW  (AddrC  [1]  (UnfoldC  `append`))  0
                THEN  Unfold  `list\_ind`  0
                THEN  OneFixpointLeast
                THEN  RepeatFor  2  (MoveToConcl  1)
                THEN  NatInd  1
                THEN  Reduce  0
                THEN  Strictness
                THEN  (UnivCD  THENA  Auto)
                THEN  ((RWO  "fun\_exp\_unroll\_1"  0  THENA  Auto)  ORELSE  Auto)
                THEN  (RW  (AddrC  [1]  RecUnfoldTopAbC)  0  THEN  Reduce  0)
                THEN  (RW  (AddrC  [2;1]  RecUnfoldTopAbC)  0  THEN  Reduce  0)
                THEN  RW  (SubC  (LiftC  true))  0
                THEN  UseCbvSqle
                THEN  HVimplies2  0  [1;1]
                THEN  ((RWO  "-1"  0  THENA  Complete  (Auto))  ORELSE  (RW  (SubC  (LiftC  true))  0  THEN  UseCbvSqle)))




Home Index