Step * of Lemma filter_append_sq

[P,A,B:Top].  (filter(P;A B) filter(P;A) filter(P;B))
BY
(RepUR ``filter append reduce`` 0
   THEN MutualFixpointInduction1 `A'
   THEN Reduce 0
   THEN RW (SubC (TryC RecUnfoldTopAbC)) 0
   THEN RW (AddrC [2;1] (RecUnfoldTopAbC)) 0
   THEN RW (SubC (LiftC true)) 0
   THEN UseCbvSqle
   THEN RW (SubC (LiftC true)) 0
   THEN HVimplies2 [1]
   THEN Try (((RWO "-1" THENA MemTop)
              THEN RW (SubC (LiftC true)) 0
              THEN HVimplies2 [1]
              THEN RW (SubC (TryC RecUnfoldTopAbC)) 0
              THEN Auto))) }

1
1. : ℤ
2. 0 < j
3. ∀P,B,A:Base.
     (rec-case(λlist_ind,L. eval in
                            if is pair then let a,as' 
                                                in [a (list_ind as')] otherwise if Ax then otherwise ⊥^j 
               ⊥ 
               A) of
      [] => []
      a::as' =>
       r.if then [a r] else fi  ≤ rec-case(rec-case(A) of
                                                   [] => []
                                                   a::as' =>
                                                    r.if then [a r] else fi of
                                          [] => rec-case(B) of
                                                [] => []
                                                a::as' =>
                                                 r.if then [a r] else fi 
                                          a::as' =>
                                           r.[a r])
4. Base@i
5. Base@i
6. Base@i
7. 0 ≤ 0@i
8. ~ <fst(A), snd(A)>
⊢ if (fst(A))
  then [fst(A) 
        rec-case(λlist_ind,L. eval in
                              if is pair then let a,as' 
                                                  in [a (list_ind as')] otherwise if Ax then otherwise ⊥^j 
                 ⊥ 
                 (snd(A))) of
        [] => []
        h::t =>
         r.if then [h r] else fi ]
  else rec-case(λlist_ind,L. eval in
                             if is pair then let a,as' 
                                                 in [a (list_ind as')] otherwise if Ax then otherwise ⊥^j 
                ⊥ 
                (snd(A))) of
       [] => []
       h::t =>
        r.if then [h r] else fi 
  fi  ≤ eval if (fst(A))
        then [fst(A) rec-case(snd(A)) of [] => [] h::t => r.if then [h r] else fi ]
        else rec-case(snd(A)) of
             [] => []
             h::t =>
              r.if then [h r] else fi 
        fi  in
        if is pair then let a,as' 
                            in [a 
                                rec-case(as') of
                                [] => rec-case(B) of
                                      [] => []
                                      a::as' =>
                                       r.if then [a r] else fi 
                                h::t =>
                                 r.[h r]] otherwise if Ax then rec-case(B) of
                                                                     [] => []
                                                                     a::as' =>
                                                                      r.if then [a r] else fi  otherwise ⊥

2
1. : ℤ
2. 0 < j
3. ∀P,B,A:Base.
     (rec-case(λlist_ind,L. eval in
                            if is pair then let a,as' 
                                                in if then [a (list_ind as')] else list_ind as' fi 
                            otherwise if Ax then [] otherwise ⊥^j 
               ⊥ 
               A) of
      [] => rec-case(B) of
            [] => []
            a::as' =>
             r.if then [a r] else fi 
      a::as' =>
       r.[a r] ≤ rec-case(rec-case(A) of
                            [] => B
                            a::as' =>
                             r.[a r]) of
                   [] => []
                   a::as' =>
                    r.if then [a r] else fi )
4. Base@i
5. Base@i
6. Base@i
7. 0 ≤ 0@i
8. ~ <fst(A), snd(A)>
⊢ eval if (fst(A))
  then [fst(A) 
        list_ind,L. eval in
                      if is pair then let a,as' 
                                          in if then [a (list_ind as')] else list_ind as' fi 
                      otherwise if Ax then [] otherwise ⊥^j 
         ⊥ 
         (snd(A)))]
  else λlist_ind,L. eval in
                    if is pair then let a,as' 
                                        in if then [a (list_ind as')] else list_ind as' fi 
                    otherwise if Ax then [] otherwise ⊥^j 
       ⊥ 
       (snd(A))
  fi  in
  if is pair then let a,as' 
                      in [a 
                          rec-case(as') of
                          [] => rec-case(B) of
                                [] => []
                                a::as' =>
                                 r.if then [a r] else fi 
                          h::t =>
                           r.[h r]] otherwise if Ax then rec-case(B) of
                                                               [] => []
                                                               a::as' =>
                                                                r.if then [a r] else fi  otherwise ⊥ 
  ≤ if (fst(A))
  then [fst(A) 
        rec-case(rec-case(snd(A)) of
                 [] => B
                 h::t =>
                  r.[h r]) of
        [] => []
        h::t =>
         r.if then [h r] else fi ]
  else rec-case(rec-case(snd(A)) of
                [] => B
                h::t =>
                 r.[h r]) of
       [] => []
       h::t =>
        r.if then [h r] else fi 
  fi 


Latex:


Latex:
\mforall{}[P,A,B:Top].    (filter(P;A  @  B)  \msim{}  filter(P;A)  @  filter(P;B))


By


Latex:
(RepUR  ``filter  append  reduce``  0
  THEN  MutualFixpointInduction1  `A'
  THEN  Reduce  0
  THEN  RW  (SubC  (TryC  RecUnfoldTopAbC))  0
  THEN  RW  (AddrC  [2;1]  (RecUnfoldTopAbC))  0
  THEN  RW  (SubC  (LiftC  true))  0
  THEN  UseCbvSqle
  THEN  RW  (SubC  (LiftC  true))  0
  THEN  HVimplies2  0  [1]
  THEN  Try  (((RWO  "-1"  0  THENA  MemTop)
                        THEN  RW  (SubC  (LiftC  true))  0
                        THEN  HVimplies2  0  [1]
                        THEN  RW  (SubC  (TryC  RecUnfoldTopAbC))  0
                        THEN  Auto)))




Home Index