Step * 1 of Lemma find_transitions_wf


1. Type
2. A ⟶ A ⟶ 𝔹
3. A
4. List
5. 1 < ||v|| 1
6. Unit + ℤ
7. (inl ⋅z ∈ (Unit + ℤ)
⊢ snd(snd(list_accum'(λd,l. let i,b,p,q 
                            in if isr(p) ∧b isr(q)
                               then d
                               else let a,as 
                                    in eval i' in
                                       if null(as)
                                       then eval b' in
                                            if b ∧b bb')
                                              then eval q' if isl(q) then inr 0  else fi  in
                                                   <i', b', inr q'>
                                            if b' ∧b bb)
                                              then eval p' if isl(p) then inr 0  else fi  in
                                                   <i', b', p', inr i >
                                            if isr(p) then <i', b', p, inr 0 >
                                            if isr(q) then <i', b', inr q>
                                            else <i', b', p, q>
                                            fi 
                                       else eval b' hd(as) in
                                            if b ∧b bb') then <i', b', inr q>
                                            if b' ∧b bb) then <i', b', p, inr i >
                                            else <i', b', p, q>
                                            fi 
                                       fi 
                               fi   ;<1, hd(v), z, z>;v))) ∈ Unit + ℤ × (Unit + ℤ)
BY
(RepeatFor ((MemCD THEN Try (QuickAuto)))
   THEN (-1)
   THEN -2
   THEN ((Reduce -1 THEN Assert ⌜False⌝⋅ THEN Complete (Auto))
         ORELSE (Thin (-1) THEN RepeatFor (D -3) THEN -4 THEN -3 THEN Reduce 0)
         ORELSE Auto)
   THEN -1
   THEN Reduce 0
   THEN Auto) }


Latex:


Latex:

1.  A  :  Type
2.  f  :  A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbB{}
3.  u  :  A
4.  v  :  A  List
5.  1  <  ||v||  +  1
6.  z  :  Unit  +  \mBbbZ{}
7.  (inl  \mcdot{})  =  z
\mvdash{}  snd(snd(list\_accum'(\mlambda{}d,l.  let  i,b,p,q  =  d 
                                                        in  if  isr(p)  \mwedge{}\msubb{}  isr(q)
                                                              then  d
                                                              else  let  a,as  =  l 
                                                                        in  eval  i'  =  i  +  1  in
                                                                              if  null(as)
                                                                              then  eval  b'  =  f  a  u  in
                                                                                        if  b  \mwedge{}\msubb{}  (\mneg{}\msubb{}b')
                                                                                            then  eval  q'  =  if  isl(q)  then  inr  0    else  q  fi    in
                                                                                                      <i',  b',  inr  i  ,  q'>
                                                                                        if  b'  \mwedge{}\msubb{}  (\mneg{}\msubb{}b)
                                                                                            then  eval  p'  =  if  isl(p)  then  inr  0    else  p  fi    in
                                                                                                      <i',  b',  p',  inr  i  >
                                                                                        if  isr(p)  then  <i',  b',  p,  inr  0  >
                                                                                        if  isr(q)  then  <i',  b',  inr  0  ,  q>
                                                                                        else  <i',  b',  p,  q>
                                                                                        fi 
                                                                              else  eval  b'  =  f  a  hd(as)  in
                                                                                        if  b  \mwedge{}\msubb{}  (\mneg{}\msubb{}b')  then  <i',  b',  inr  i  ,  q>
                                                                                        if  b'  \mwedge{}\msubb{}  (\mneg{}\msubb{}b)  then  <i',  b',  p,  inr  i  >
                                                                                        else  <i',  b',  p,  q>
                                                                                        fi 
                                                                              fi 
                                                              fi      ;ə,  f  u  hd(v),  z,  z>v)))  \mmember{}  Unit  +  \mBbbZ{}  \mtimes{}  (Unit  +  \mBbbZ{})


By


Latex:
(RepeatFor  5  ((MemCD  THEN  Try  (QuickAuto)))
  THEN  D  (-1)
  THEN  D  -2
  THEN  ((Reduce  -1  THEN  Assert  \mkleeneopen{}False\mkleeneclose{}\mcdot{}  THEN  Complete  (Auto))
              ORELSE  (Thin  (-1)  THEN  RepeatFor  3  (D  -3)  THEN  D  -4  THEN  D  -3  THEN  Reduce  0)
              ORELSE  Auto)
  THEN  D  -1
  THEN  Reduce  0
  THEN  Auto)




Home Index